Hallo!

>    Set oRs = Server.CreateObject("ADODB.recordset")
>    Set oRs.ActiveConnection = oConn
>    oRs.Source = strSQL
>    oRs.LockType = 3        'adLockOptimistic
>    oRS.CursorType = 1    'adOpenKeyset
>    oRs.Open
> 
> ....Dann habe ich meine Verbindung....
> 
> oRs.AddNew
> 
> oRS("....Ein paar Daten einf�gen ...")
> 
> oRs.Update
> idOfAddedRecord = oRS("ID")
> 
> Leider ist das ID leer ....
> Was ich will ist garantiert die richtige ID zu dem eben eingetragenen
> Datensatz ermitteln.
> Ich hab gelesen, da� es wichtig ist das CursorType = 1 ist
(adOpenKeyset)
> ist ....

Ne, das ist �berhaupt nicht wichtig.

Wichtig ist, dass das Property "Update Resync" auf
"adResync_AutoIncrement" gesetzt wird. Manchmal macht ADO das
automatisch, abh�ngig von Treiber, CursorLocation und CursorType, z. B.
bei Access mit OLEDB und CursorLocation=adUseClient und
CursorType=adOpenStatic.

Ich denke, dass es nicht schadet, das Property explizit zu setzen, dann
klappt's immer. Ansonsten schau mal in die ADO-Dokumentation.

Auf keinen Fall brauchst Du den Keyset-Cursor. Der ist f�rs Web viel zu
aufwendig.

�brigens w�rde ich "AddNew" auch mit Parametern aufrufen, also
oRS.AddNew array("...", "...", "...", ...), array(..., ..., ..., ...)
Warum jede Spalte einzeln zuweisen?

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