> 
> Hallo!
> 
> Hm, wir reden aneinander vorbei.
> 
> > Ich bin fast einverstanden.... Meine Funktion sieht ja so 
> �hnlich aus,
> > bis auf....:
> 
> Der entscheidende Unterschied ist doch, ob Du das Recordset als Objekt
> oder als Objektreferenz zur�ckgibst, also mit oder ohne "SET".

Ohh... Das hab ich �bersehen... Du benutzt ja gar kein "set"... Das
funktioniert so nicht!
Wenn Du kein Set benutzt, wird nicht, wie Du anscheinend meinst, das
Recordset kopiert, sondern es wird nichts �bergeben... Teste mal Deinen
Code, dann wirst Du sehen, dass das so nicht funzt...

> 
> > > dim rs
> > > rs = GetRS("...sql...")
> > > ...
> > > ...
> > > function GetRS(pSQL)
> > >    dim lRS
> > >    set lRS                  = 
> Server.CreateObject("ADODB.Recordset")
> > >    lRS.CursorLocation       = adUseClient
> > >    lRS.CursorType           = adOpenStatic
> > >    lRS.LockType             = adLockReadOnly
> > Ich hatte hier zwar adLockBatchOptimistic, aber adLockReadOnly ist
> > eigentlich richtig... Egal beides d�rfte gehen..
> >
> > >    lRS.Open                   pSQL, ConnectionString
> > >    set lRS.ActiveConnection = nothing
> > >    GetRS                    = lRS
> > >    lRS.Close
> > Das ist ein fehler... Wenn man das Recordset schliesst werden alle
> Daten
> > gel�scht...
> 
> Deshalb wird ja das Objekt und nicht die Referenz �bergeben.

Du hast das Set-Statement falsch verstanden.


> 
> > >    set lRS                  = nothing
> > Unn�tig, da lRS bei "end function" sowieso ausser scope f�llt und
> > automatisch auf nothing gesetzt wird bzw. gel�scht wird...
> 
> Sicher? Dann m�sste das Objekt doch auch verschwinden, wenn das Script
> zu Ende l�uft und mit rs.Close wird das Object auch nicht zerst�rt.

Normalerweise sollte es das, und das tut es auch, es sei denn es wird
durch zirkul�re Verweise innerhalb von sich selbst am Leben gehalten...
Und deshalb soll man auch das close vorher machen, weil es dann intern
das ganze Objekt-Gewussel abbaut.

Close zerst�rt das Object ncht, gibt aber den gesamten Speicher frei,
den das Recordset-Object f�r die Daten allokiert hat, sowie die
Connection etc...

Claudius


| [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