![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Senior Member
![]() Registriert seit: 26.04.2002
Beiträge: 168
|
![]() 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 |
![]() |
![]() |
![]() |
#2 |
Inventar
![]() Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552
|
![]() sollte eigentlich genau so funktionieren - wie du geschrieben hast.
Also ich verstehs nicht, warums net geht. ![]() |
![]() |
![]() |
![]() |
#3 |
Inventar
![]() |
![]() 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
____________________________________
MfG Nightman |
![]() |
![]() |
![]() |
#4 |
Inventar
![]() Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552
|
![]() 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. |
![]() |
![]() |
![]() |
#5 |
Master
![]() Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550
|
![]() Hi!
@randomize: Poste mal mehr von dem Code. Besonders die Deklaration und die Zuweisung von RS interessiert mich. mfg WB |
![]() |
![]() |
![]() |
#6 |
Senior Member
![]() Registriert seit: 26.04.2002
Beiträge: 168
|
![]() 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. |
![]() |
![]() |
![]() |
#7 |
Master
![]() Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550
|
![]() 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 |
![]() |
![]() |
![]() |
#8 |
Elite
![]() Registriert seit: 14.11.1999
Alter: 39
Beiträge: 1.429
|
![]() 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... |
![]() |
![]() |
![]() |
#9 | |
Senior Member
![]() Registriert seit: 26.04.2002
Beiträge: 168
|
![]() Zitat:
also die Deklaration steht irgendwo sehr am Anfang und ist auch ziemlich global. MfG Etienne |
|
![]() |
![]() |
![]() |
#10 |
Master
![]() Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550
|
![]() 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 |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|