Hallo!

Also der Artikel ist kein Schmarr'n, er ist halt nur nicht vollst�ndig
und beschreibt meines Erachtens auch keine optimale L�sung f�r's Web
(Keyset-Cursor!!!).

Das Problem mit dem Lesen automatisch eingesetzter Werte ist eigentlich
recht simple: Man muss den Wert lesen, also der Datenbank einen Befehl
geben, diesen Wert zur�ckzugeben.

ADO macht das automatisch, bei
   ClientSide-Static-Cursor   ODER
   Property(Update_Resync) = adResyncAutoincrement

Abh�ngig vom Datenbanktreiber werden bestimmte Properties und andere
Eigenschaften automatisch gesetzt. So kann es sein, dass eine Funktion
mit Access funktioniert und mit SQL Server nicht oder umgekehrt. Das ist
die ADO-Falle, weshalb ich eigentlich grunds�tzlich Prozeduren so
aufrufe, dass ADO keine Default-Werte einsetzen muss, also mit allen
Parametern.

Im Web verwende ich fast ausschlie�lich den ClientSide-Cursor, damit ADO
die Verantwortung f�r das Recordset hat und meine Applikationen sowohl
mit Access als auch mit SQL-Server arbeiten. So fordert ADO auch den
Autoincrementwert beim Insert gleich mit an.

Der ServerSide-Cursor kann in einigen Situation performanter sein, aber
ganz selten im Web. Er ist z. B. dann n�tzlich, wenn mehrere Benutzer
gleichzeitig eine Tabelle modifizieren. In Verbindung mit dem Dynamic-
oder Keyset-Cursor schickt die Datenbank dann alle Modifikationen an
alle Benutzer und aktualisiert laufend die Recordsets der Clients oder
schickt auch Autoincrementwerte zur�ck. Nat�rlich enthielt das Recordset
im vorliegenden Fall auch den korrekten Autoincrementwert, aber ADO hat
sich nicht darum gek�mmert und deshalb kann das Script den Wert auch
nicht lesen.

Es ist also nicht unbedeutend, welchen Datenbankcursor (ForwardOnly,
Static, Dynamic, Keyset) man verwendet und wer die Verantwortung daf�r
hat (ADO = Client, Datenbankengine = Server). Meine Buchempfehlung dazu:

David Sceppa: ADO-Programmierung.

Und nat�rlich steht das auch in der MSDN unter ADO und in den
Technischen Artikeln.

Freundliche Gr��e
Joachim van de Bruck




| [aspdedatabase] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp

Antwort per Email an