Moin Stephan,
die ID ist der Primärschlüssel, der als Identity deklariert ist.
Das der Wert leer ist kann nicht passieren, da für den Fall, dass keine Zeile des ListView ausgewählt wurde (Selected = nil) die Funktion nicht ausgeführt wird.
Die Idee mit dem RecordCount könnte ich auch noch mal umsetzen, allerdings dürfte es auch bei mehreren zurückerhaltenen Sätzen nicht zu einem Problem kommen, da ja, wenn überhaupt, nur der erste Satz geändert werden würde.
Da allerdings über Gleichheit des PK die zu ändernden Daten abgefragt werden, ist es eigentlich nicht möglich eine Anzahl > 1 zu erhalten.
Zitat von
nahpets:
Wahrscheinlich sind in der Datenbank irgendwelche Daten etwas anders als erwartet.
Leider nicht. Die betroffene Tabelle ist, noch, so übersichtlich, dass ich das leicht sehen kann.
Zitat von
nahpets:
Appropopopo: Was passiert, wenn FsTripID einen Wert einhält, den es in der Datenbank nicht (mehr) gibt?
Da ich dann 0 Recods zurückerhalte, dürfte es in einem Fehler münden, sobald ich versuche da etwas zu ändern, allerdings ist die Chance, dass dieser Fall eintritt nahe 0, denn der ListView aus dem ausgewählt wird, stellt eine Anzeige der aktuellen Daten der Tabelle da, die geändert werden soll.
Zitat von
nahpets:
Können die Benutzer die Daten gleichzeitig ändern,
Theoretisch ja, dürfte in der Praxis aber nicht vorkommen (und sollte in diesem Falle hier auch keine Rolle spielen).
Zitat von
nahpets:
Ist RowsAffected <> 1, ist irgendwas schiefgegangen.
Stimmt, gute Idee.
Der MS-
SQL liefert das AFAIK zurück, so dass ich dass jetzt auch noch an allen in Frage kommenden Stellen mal einbauen werden.
Ist der Wert <> 1 schreibe ich mir ein wenig in meine Logdatei.