Suchergebnisse

Suchergebnisse 1-8 von insgesamt 8.

  • Benutzer-Avatarbild

    Ich lese das Create-Script nicht so, dass da für Id AutoIncrement eingestellt wäre. Von daher täte ich drauf tippen: "Works as designed" Aber ich kenne mich mittm SQLite-Dialekt auch nicht gut aus. Also ich würd zur sicherheit nochmal googeln, wie man bei SqLite AutoIncrement aktiviert.

  • Benutzer-Avatarbild

    Zitat von vb_fan: „"If a table contains a column of type INTEGER PRIMARY KEY, then that column becomes an alias for the ROWID. You can then access the ROWID using any of four different names, the original three names described above or the name given to the INTEGER PRIMARY KEY column."“Also nach dem, was da steht, sollte es deinen Ansprüchen genügen. Durch PRIMARY KEY gibst du der ROWID einen zusätzlichen (vierten) Alias-Namen - es entstehen also nicht mehrere ID-Spalten. Und AUTOINCREMENT lässt…

  • Benutzer-Avatarbild

    Zitat von Marcus Gräfe: „Und ein Setzen der Property "AutoIncrement" auf "True" würde bestimmt nur dafür sorgen, dass VB den Wert setzt, oder?“ jaklar. Allerdings muss man gucken, wie ein DataAdapter die Inserts ausführt - das kann je nach DatenProvider unterschiedlich sein. Beim SqlServer ist die Synchronisation am intelligentesten, da wird beim Insert ein In-Out-Parameter verwendet, der den von der DB vergebenen PK abruft und automatisch ins Dataset einpflegt. Bei Access ists nicht so, da muss…

  • Benutzer-Avatarbild

    Zitat von Marcus Gräfe: „Ich habe die AI-Property auf True gesetzt und negative IDs generieren lassen. Dann habe ich mit einem externen Tool mir die interne ROWID anzeigen lassen. Die ist dann auch negativ.“ Dann funzt der DataAdapter falsch. Ein Dataset mit PrimKey und AutoIncrement schreibt die PK-Werte nicht in die Datenbank. Allenfalls holt es den DB-seitig generierten PK-Wert ab. Da guck nochmal , ob dein Dataset richtig eingerichtet ist. Und poste mal Code, wie du updatest. Wenn du einen g…

  • Benutzer-Avatarbild

    Man muss den TableAdapter selektieren, und dann die Properties angugge vb-paradise.de/index.php/Attachment/46843/ Achso - es ist nicht eigentlich ein UpdateBefehl, sondern es sind 4 Commands in einem DataAdapter, und wenn DataAdapter.Update() aufgerufen wird, wendet der DataAdapter auf die Datensätze je eines der drei schreibenden Commands (update, insert, delete) entsprechend der Art der Datensatz-Änderung (DataRowState.Changed, .Added, .Deleted) richtig an. Aber ich halt nicht viel von die Din…

  • Benutzer-Avatarbild

    Den Fehler reime ich mir so zusammen: Das automatische Abrufen des Db-seitig generierten PKs funktioniert nicht - stattdessen wird da Null rückübertragen. Verhindern, dass der PK auf NotNull geprüft wird, ist dann aber sicherlich keine Lösung - ein PK darf numal nicht Null. Abhilfe weis ich da nicht, die SqLite-Connectoren-Funktionalität scheint numal buggy und unbrauchbar. Ich selbst habe (vor langem) verschiedendlich mit SqLite rumprobiert, und hat nie geklappt. Kann auch ein Versions-Debakel …

  • Benutzer-Avatarbild

    Zitat von Marcus Gräfe: „Nach dem Speichern wird noch die von VB generierte ID angezeigt. Erst nach dem Neuladen kommt die "echte" ID zum Vorschein.“Das dürfte Problem machen, wenn du einen Datensatz erstellst, speicherst, ihn dann änderst und dann diese Änderung auch speichern willst. Weil beim Speichern der Änderung liegen ja in DB und Dataset verschiedene PKs vor. Ich täte auch nicht gut finden, wenn man nach jedem Insert mehr oder weniger grosse Datenmengen neu laden muss. Zumal beim NeuLade…

  • Benutzer-Avatarbild

    Jo, finde ich auch skandalös, wirklich, dass diese banalen Standard-Fälle, die jeder braucht - dasses dafür keine stabile und bequeme Unterstützung gibt. Und wirklich sind ja sämtliche erforderlichen Informationen für eine effektive Persistenz im Dataset enthalten - braucht man ja nur zu nutzen. Und trotzdem kriegen sie's nicht gebacken. Ich reime mir das so zusammen, dass es verschiedene Persistenz-Strategien gibt, und meine Persistenz-Klasse bedient zB nur eine davon - nämlich datenbankseitige…