Anmelden

View Full Version : C# DB mit Keyfeld aber nicht Unique und Dataset



TheDevil
23-09-13, 12:50
Hallo World,
ich habe hier eine DB2 Datei welche Keyfelder definiert ist (3 Felder). Aber halt nicht Unique. Ich nutze dies so für eine Sortierung. Nun bin ich hier am c# "lernen" und lese diese Datei über .Net ein. Klappt. Über den Commandbuilder werden aber nur die Commands für Insert und Select gesetzt. Commands für update und delete werden nicht erstellt.
Ich vermute das dies mit der NICHT UNIQUE Definition zusammenhängt. Nach einigen Diskussionen vor Ort ist dies auch wahrscheinlich da ja hier mehrere Datensätze den selben Key haben können und somit anscheinend beim einlesen der Daten in ein Dataset keine Rückverbindung vorhanden ist.

Nun die Frage : Gibt es im Zusammenspiel von c# mit so einer DB2 evtl. doch eine Möglichkeit dem Dataset z. b. die relative Satznummer oder ähnliches mit zu übergerben um die update und delete Funktion in c# erstellt zu bekommen ?

Gruß aus dem Norden,
Ralf

Fuerchau
23-09-13, 13:36
Nein!
Hier musst du selber ans Werk gehen und die Update/Delete-Commands selber erstellen und an den DataAdapter anhängen.
NET kann dir hier nicht helfen da nur DU weißt, welche Updates/Deletes denn möglich sind.

Wenn der Key nicht Unique ist sind ja meist mehrere Sätze betroffen.

Wenn du die Möglichkeit hast, die Tabelle noch zu ändern, z.B. ein Schlüsselfeld mit unique Sequence anzuhängen, dann hilft dir auch der Adapter.

Ggf. funktioniert es auch wenn du an die DataTable ein PrimaryKey selber definierst bevor du den Adapter generieren lässt.
Allerdings bekommst du einen Fehler, wenn die Keys halt nicht unique sind.

TheDevil
24-09-13, 06:45
Hallo.
Vielen Dank für die schnelle Info.
Gruß aus dem Norden,
Ralf