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
