Suchergebnisse

Suchergebnisse 1-17 von insgesamt 17.

  • Benutzer-Avatarbild

    Danke für Deinen Input! Ich werde dann wohl mit Möglichkeit 2 in betracht ziehen mit echten FKs. Irgendwo mal gehört, das Spalten, in denen per Default Null vorkommt, eher schlecht sind aber das scheint mir auch am sinnvollsten. Dann könnte man auch einfach neue Foreignkeys anheften, sollten neue Entitäten hinzukommen.

  • Benutzer-Avatarbild

    Hello zusammen, ich möchte eine kleine Social Media Plattform (absolutes max. 10-20k Nutzer, eher 5k-10k) für ein Nischenprodukt aufbauen (also fernab von Größen wie Instagram und co :D), welches ich dann mit einer C# WPF Anwendung verwalten möchte (Nutzer sind dann per Web oder App eingebunden). Die Frage ist für mich nun wie man sinnvoll ein Tabellen-Schema aufbaut, dass skallierbar bleibt und einigermaßen einfach für einen Feed abzufragen ist. Sagen wir, es gibt folgende Entitäten die abgebil…

  • Benutzer-Avatarbild

    Super, ich danke Dir für Deine Hilfe!

  • Benutzer-Avatarbild

    Danke Dir für Deine Antwort! Zitat von VaporiZed: „Von daher: ja, negative Werte sind möglich/einstellbar.“ Gehen wir einmal davon aus, dass nur ich den Wrapper nutze und ich immer Seed=1 und Increment-Wert=1 positiv setze; dann werden diese ja nie negativ. Anders formuliert: für diesen Wrapper darf man einfach keine negativen primary keys im DataSet-Designer einstellen. Sprich es gibt keine internen Prozesse bei DataSets/DataTables, die zum Markieren der Row ebenso den primary key negativ setze…

  • Benutzer-Avatarbild

    Hallo! Ich versuche gerade meinen SQLite Wrapper etwas zu verbessern und bin auf ein Problem gestoßen. Folgender Code: C#-Quellcode (52 Zeilen) Wenn ich folgenden Code weglasse: C#-Quellcode (7 Zeilen) Bekomme ich folgende Fehlermeldung (nicht immer aber manchmal): C#-Quellcode (1 Zeile) Klar, kann ja sein, dass er gerade versucht eine ID wieder zurückzuschreiben, die aber im aktuellen DataTable schon vergeben ist, weil der foreach-loop die Zeile noch nicht erreicht hat. Daher hab ich mir gedach…

  • Benutzer-Avatarbild

    Ich danke! Okay, dann muss es eben so sein... Ich hab einfach in meinem SQLite Wrapper jetzt ne Methode die das alles in einem macht und mir ein custom result zurückgibt. Wie Du schon sagst; ich hoffe ich hab "die Kacke dann vom Hals". C#-Quellcode (50 Zeilen)

  • Benutzer-Avatarbild

    Ich frage DBNull bei einem typisiertem DataSet so ab: C#-Quellcode (4 Zeilen) is__name__Null() wird aus Deiner Column generiert, wobei "name" hier eben Dein Columnname ist. Kann also auch .isSomeNiceColumnNull() sein etc. Alle anderen Versuche liefen immer auf eine Exception raus...

  • Benutzer-Avatarbild

    Zitat: „... und im UpdateCommand um.“ Das mache ich ja. Aber dafür brauche ich ja immer eine konkrete Instanz einer Row (siehe meinen Code unter Post #3). Auf die ich ja dann die Umwandlung ausführen kann. C#-Quellcode (1 Zeile) Bei DataTable.Update hab ich das ja aber nicht?! Da führt er ja alle notwendigen SQLs auf alle Rows aus, die das benötigen... Also insert, update, etc. Das funktioniert ja auch ganz prächtig wenn ich eben keine DateTime Columns hab. Wie schreibt Ihr denn DateTime vom Dat…

  • Benutzer-Avatarbild

    Danke euch für eure Antworten! Kann ich bei SQLite das manuelle INSERT, UPDATE etc mit nem SQLCommand aber irgendwie loswerden das ich ja wegen den Datum-Columns ja machen muss? Ich würd gern einfach ein DataTable.Update machen können... kann ich wegen der manuellen Formatierung der Datums-Columns aber nicht.

  • Benutzer-Avatarbild

    Hm okay verstehe. Zitat: „ Crash mit ConstraintException wegen doppelter ID-Vergabe“ Das würde aber heißen, dass ich das DataSet immer KOMPLETT befüllen müsste. Bei vielen Einträgen macht das aber manchmal keinen Sinn. Sondern da ist es besser ein Subset zu querien zb die letzten 3 Monate oder so. Da ist ja die höchste ID nicht unbedingt dabei. Also wird die Zeile als „neu“ markiert evtl. Wenn ich jetzt, wie ich es bei SQLite mit Datum-Columns machen muss, manuell, ohne ein DataAdapter.Update, e…

  • Benutzer-Avatarbild

    Hallo zusammen! Auf meinen Abenteuern in der Welt des DataSets und SQLite bin ich auf folgende Verständnisfrage gestoßen: Woher weiß ein DataSet, wenn ich darauf noch keinen Fill mit einem DataAdapter gemacht hab, wie der nächste AutoIncrement-Wert in der DB sein MUSS? Der Ablauf ist folgender: Ich habe noch keinen Fill auf die Tabelle ausgeführt. Ich füge einer DataSet Tabelle eine neue Row hinzu. Das DataSet vergibt dann theoretisch einen auto increment von 1, weil das DataSet ja die DB dahint…

  • Benutzer-Avatarbild

    Danke Dir für die Anregungen! Ich hab das jetzt etwas umgeschrieben: C#-Quellcode (5 Zeilen) Und aufgerufen wird so: C#-Quellcode (1 Zeile) Hab zwar den "String-Smell" drin... aber von 5 Strings auf 2 runter ist doch schon mal was. Danke!

  • Benutzer-Avatarbild

    Zitat: „Ähm - was für ein String? Ein DateTime ist kein String.“ Ja, das ist schon klar. Aber in SQLite gibt es keinen DateTime Datentyp. Siehe hier: sqlitetutorial.net/sqlite-date/ Ein Datum kann nur als TEXT, REAL oder INTEGER gespreichert werden. Ich habe mich für den TEXT entschieden. Der DataAdapter schreibt mit update aber das falsche Format. Das ist das Problem. Mit "direktem Query" meine ich sowas (als Beispiel... bei User-Eingaben, die nicht hardcoded sind, wird das schon als DBParamete…

  • Benutzer-Avatarbild

    Hallo zusammen, gibt es eine Möglichkeit nur DateTime Spalten speziell formatieren zu können für einen DataTable Update Command? Um etwas Schreibarbeit und Fehleranfälligkeit (neue Columns etc.) habe ich den SQLiteCommandBuilder genutzt um schell alle CRUDs einer Tabelle an der Hand zu haben. Funktioniert super. Nur leider formatiert er die DateTime-Spalten nicht im richtigen Format für SQLite. Folgendes Beispiel zur Verdeutlichung: C#-Quellcode (4 Zeilen) DateTime sieht so aus mit direktem Upda…

  • Benutzer-Avatarbild

    Vielen Dank! Ich steige jetzt schon etwa mehr durch, wie man mit DataSets und eine direkten Datenbank Anbindung denken muss. Habe vorher nur mit Queries in PHP/HTML und MySQL gearbeitet und da gibt es das DataSet Konzept ja nicht. Habe mir jetzt eine kleine Helper-Funktion geschrieben, die mir den Query für eine Parent-Tabelle mit ausgibt. Ich fahre dann diesen Query einfach vor der eigentlichen Abfrage. C#-Quellcode (5 Zeilen) Danke nochmal fürs Licht ins Dunkel bringen!

  • Benutzer-Avatarbild

    Vielen Dank für Deine ausführliche Antwort! Dann ist Punkt 2 für mich schon mal abgehakt: es bleibt beim globalen DataSet. Fühlt sich auch angenehmer und übersichtlicher an. Zu Punkt 1.: Wie sieht denn das dann aus? Child-Tabelle: C-Quellcode (1 Zeile) Parent-Tabelle: C-Quellcode (1 Zeile) So? Irgendwie umständlich und schwieriger in den Programmablauf zu bringen (mit Blick auf verallgemeinernerde (Wrapper)Helfer-Klassen zb.). Vorallem wenn ich auf die ClientTabelle auch anderweitig zugreifen wi…

  • Benutzer-Avatarbild

    Hallo zusammen! Erst einmal ganz großen Dank and "ErfinderDesRades" für sein zwar altes aber tolles Tutorial DataSetOnly. Ich habe damit schon ein paar Projekte umsetzen können und war in der Lage relationale Datenanwenungen zu schreiben, die auch ohne größere Probleme sauber funktioniert haben. Nun möchte ich allerdings eine neue Anwendung schreiben und die Daten diesmal aber in einer SQLite Datenbank ablegen. Die Sache mit den DataTableAdaptern etc. habe ich bereits verstanden und kann auch Da…