![]() |
ASP - RecordSet wiederverwenden?
Geht das?
In etwa...: blablabla RS.Open "SELECT wasauchimmer FROM irgendnetable", conn blabla RS.Close RS.Open "SELECT nochmal FROM woanders", conn blabla RS.Close Also zweimal das gleiche RecordSet, nacheinander verschiedene Tabellen aufrufen mit einem RS.Close dazwischen, da bekomme ich folgendes: ADODB.Recordset- Error '800a0e79' Der Vorgang ist für ein geöffnetes Objekt nicht zugelassen. Weiß jemand was ich falsch mache?? Zumal ich das RS ja schließe, dachte ich... Danke schonmal, Etienne |
sollte eigentlich genau so funktionieren - wie du geschrieben hast.
Also ich verstehs nicht, warums net geht. :confused: |
also bei mir funzt es auch nur schreib ich es etwas anders
------------- Set objRS = Server.CreateObject("ADODB.Recordset") strSQL = "SELECT * FROM table WHERE ID = 1 LIMIT 1" objRS.open strSQL, strCon objRS.Close Set objRS = Nothing Set objRS = Server.CreateObject("ADODB.Recordset") strSQL = "SELECT * FROM table WHERE ID = 1 LIMIT 1" objRS.open strSQL, strCon objRS.Close Set objRS = Nothing -------------- versuch es einfach mehr als das es dann wieder ned geht kann dir eh ned passieren viel glück |
Naja, aber so verwendest du das Objekt ja nicht wieder neu - du "zerstörst" es ja wieder, und definierst es dann als neues Objekt.
Aber so wie es randomize geschrieben hat, habe ich es schon oft gemacht - darum wundert mich es, dass es nicht geht. |
Hi!
@randomize: Poste mal mehr von dem Code. Besonders die Deklaration und die Zuweisung von RS interessiert mich. mfg WB |
Da:
Dim conn... blabla Dim RS Set RS = Server.CreateObject ("ADODB.Recordset") RS.Open "SELECT blabla", conn ... RS.Close RS.Open "bla", conn ... ... und so weiter wie oben beschrieben. |
Hi!
Meine Frage war anscheinend nicht genau genug formuliert. Wichtig ist auch, wo die Deklaration steht und welchen Gültigkeitsbereich die Variable hat. mfg WB |
ich mach es immer ohne das rs vorher zu closen (bei mir spuckt er immer hier einen Versuch aus!).
Ich überlager rs einfach mit einem anderen... |
Zitat:
also die Deklaration steht irgendwo sehr am Anfang und ist auch ziemlich global. MfG Etienne |
Hi!
Wenn die Deklaration einen guten Grund hat, ist die einfache Lösung Set RS = Nothing zu verwenden, wie von Nightman vorgeschlagen. Wenn das Recordset lokal deklariert wird, sollte es auch ohne klappen. Wenn möglich (bzw. sinnvoll), solltest du Variablen immer auf Prozedur-Ebene deklarieren. mfg WB |
Alle Zeitangaben in WEZ +2. Es ist jetzt 11:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag