Hallo!

> so wie auf http://www.aspheute.com/artikel/20000606.htm
> beschrieben,
> funktioniert das bei mir nur in access 2000.
> 
> am sql-server 2000 ist der abgefragte auto-wert immer
> NULL.
> woran k�nnte das liegen?

Das ist v�llig normal. Die dort beschriebende Methode nutzt Umst�nde,
die so nur bei Access gegeben sind. Der ODBC-Treiber zu Access liefert
bei einem Serverside Cursor halt die generierte ID an ADO, obwohl ADO
sie nicht anfordert.

Deshalb liefert die dort beschriebene L�sung zwar in genau dem Fall die
richtige L�sung, aber gilt nat�rlich nicht f�r andere Datenbanken.

Eine universelle L�sung verwendet

1. OLEDB-Treiber (ist schneller)
2. CursorLocation = adUseClient (ADO fordert die ID an)
3. CursorType = adOpenStatic (schnellere Daten�bertragung)

Mehr braucht's nicht.

Wenn man mit den langsameren ODBC-Treiber oder den viel zu aufwendigen
Keyset-Cursor verwenden m�chte, muss man zus�tzlich folgende Eigenschaft
des Recordsets setzen:

rs.Properties("Update Resync") = adResyncAutoIncrement

Mit diesem Property kann man auch andere Daten resynchronisieren, z. B.
wenn man einen Fremdschl�sselwert �ndert oder �hnliche Aufgaben
bew�ltigen muss, was aber in Web-Applikationen nicht ben�tigt wird, weil
ja eh die Seiten zwischen den Zugriffen immer wieder neu aufgebaut
werden. Genau deshalb ist der Keyset-Cursor ja auch �berfl�ssig.

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