Hallo, Markus -
also, ich bewege mich normalerweise durch MySQL-Datenbanken. Daher bin ich - was andere Servertypen angeht - vielleicht ein wenig "lahm".
http://technet.microsoft.com/de-de/libr ... 90315.aspx
Rückgabewert ist ein numerischer Wert in der Dimension 38,0 - aus Hector's Wrapper weiss ich, dass der entsprechende Rückgabetyp bei MySQL mit normalen Xbase-Variablen nicht abgebildet werden kann, Hector verwendet daher einen Wert, der in OT4XB als Klasse implementiert ist. Möglicherweise kann SQLExpress den Rückgabewert ebenfalls nicht abbilden?
Genug der Vorrede ...
INSERT INTO Kunden ...
SELECT Max(KundenId) FROM KUNDEN
Angenommen, KundenID ist der automatisch generierte Wert, der Dich interessiert.
Wiederum: MySQL erhöht den Wert immer wieder, selbst ein DELETE FROM Kunden setzt den AUTOINCREMENT-Wert
nicht zurück. Ob sich der MSQL-Server ebenfalls so verhält, kann ich nicht sagen.
Ansonsten muss der gerade eingefügte Datensatz die höchste Nummer haben.
Soviel zu Einzelplatz-Anwendungen. Wenn Du Mehrplatzanwendungen hast, kann es schon mal vorkommen, dass PARALLEL neue Zeilen in eine Tabelle reinkommen, und dann musst Du die SELECT-Abfrage so abändern, dass sie noch eindeutig bleibt, z.B.
SELECT Max(KundenID) FROM Kunden WHERE KdOperator = 'Markus'
unter der Annahme, dass Du protokollierst, wer die letzte Änderung durchgeführt hat, und Deine Benutzerkennung 'Markus' lautet.