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