AutoIncrement Problem beim DataSet

20/11/2008 - 16:48 von Harald Bacik | Report spam
Hallo NG

Ich arbeite mit mySQL -> DataSet & DataAdapter.
Ich habe folgendes Problem:
Im DataSet gebe ich AutoIncrement = True für das Feld ID an.
AutoIncrementSeed = 0 & AutoIncrement Step = -1
Interessanterweise, wird aber nicht bei 0 begonnen, sondern bei dem Wert,
der der höchste gespeicherte Wert ist.
Kennt Ihr dieses Problem, gibt es dafür ein Workaround? - Ich benötige
dieses Feld, da ich viel mit Relationen arbeite.

DANKE

PS: Visual Studio 2008+FW3.5
 

Lesen sie die antworten

#1 Peter Götz
20/11/2008 - 18:15 | Warnen spam
Hallo Harald,

Ich arbeite mit mySQL -> DataSet & DataAdapter.
Ich habe folgendes Problem:
Im DataSet gebe ich AutoIncrement = True für das Feld ID an.
AutoIncrementSeed = 0 & AutoIncrement Step = -1



Wohl nicht im DataSet, sondern bei einer DataTable, die
möglicherweise in einem DataSet liegt.

Interessanterweise, wird aber nicht bei 0 begonnen,



Bei welcher Gelegenheit erwartest Du,
dass bei 0 begonnnen wird?

sondern bei dem Wert,
der der höchste gespeicherte Wert ist.



Welcher Wert ist wo gespeichert?

Kennt Ihr dieses Problem, gibt es dafür ein Workaround?



Einen Workaround wofür?
Wenn Du die Daten für Deine DataTable via DataAdapter
aus einer DB-Tabelle beziehst, dann haben diese Daten-
sàtze ja vermutlich schon Werte im Feld ID. Weitere
neu hinzuzufügende Datensàtze können dann zwangslàufig
nicht IDs bekommen, die in den schon vorhandenen
Datensàtzen existieren. Gibt es unter diesen Datensàtzen
bereits einen mit der ID = 0 dann kann ein weiterer
Datensatz nicht nochmal die ID = 0 bekommen, sofern
das entspr. Feld als "Unique" definiert ist.

- Ich benötige
dieses Feld, da ich viel mit Relationen arbeite.



Für eine Relation zwischen z.B. zwei Tabellen
brauchst Du in jeder der beiden Tabellen ein
Feld mit eindeutigem Inhalt (z.B. ID), der jeweils
den Wert 0 aber auch jeden anderen Wert haben
kann. Für die Beziehung ist es nur notwendig, dass
es in der ersten und in der zweiten Tabelle jeweils
einen Datensatz mit korrespondierender ID gibt.

Irgendwie wird Dein eigentliches Problem nicht so
recht klar.

Gruß aus St.Georgen
Peter Götz
www.gssg.de (mit VB-Tipps u. Beispielprogrammen)

Ähnliche fragen