Autor Beitrag
Dominique
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 92



BeitragVerfasst: Mi 04.05.05 11:15 
Hallo,

wir schreiben hier gerade eine erste SOAP-Anwendung.
Auf dem Server nutzen wir eine Access Datenbank (später Migration nach MSSQL),
einen in Delphi geschriebenen SOAP-Server, der den Zugriff über ein Web-Datenmodul (ADOConnection, ADOTables und DataSetProvider) zur Verfügung stellt.

Clientseitig ebenfalls eine Delphi-Anwendung die per SOAP-Connection und entsprechenden ClientDatasets die Datenbank anspricht.

Nach Änderungen von Datensätzen oder der Anlage von neuen werden per ClientDataSet.ApplyUpdates die Änderungen sofort auf den Server übertragen - so weit, so gut.

Nun haben wir einen Fall, in dem wir UNMITTELBAR nach dem neuanfügen eines Datensatzes den von der DB erzeugten Key (Autoinc-Feld) erfragen müssen.
Das bekommen wir erst nach einem ClientDataSet.Refresh - aber dann steht der Satzzeiger des ClientDataSet nicht mehr auf dem gerade eingefügten, sondern wieder auf dem ersten :(

Frage: wie kommen wir unmittelbar nach dem einfügen an den wert des autoinc-feldes?

Besten Dank im Voraus,
Dominique


Hinweis:
Wir nutzen Delphi 7 (alle Updates) Enterprise Architect.
tipps, mit SQL-Query's zu arbeiten und den Wert per "@@IDENTITY" zu erfragen könnt ihr euch sparen.