webForumDet fria alternativet

Operation is not allowed when the object is open.

ASP

20 svar · 492 visningar · startad av DanneSt

Medlem sedan feb. 20041 311 inlägg
Frågan#1

Operation is not allowed when the object is open.
Varför får jag detta felmeddelande?

I koden har jag försökt köra två recset.open:

SQL = "SELECT * FROM tabell1 WHERE id =" & Request.QueryString("id")
RecSet.Open SQL, Conn

SQL2 = "SELECT * FROM tabell2"
RecSet.Open SQL2, Conn
Medlem sedan juni 200032 967 inlägg
#2

Du öppnar samma recordset två gånger? Andra gången är det ju redan öppet???

Medlem sedan feb. 20041 311 inlägg
#3

Jamen, det ÄR ju inte samma recordset! SQL & SQL2 heter de ju...?
Eller har jag fått något om bakfoten? :-s

Medlem sedan juni 200032 967 inlägg
#4

Du cyklar om bakfoten ja. Recordsetet heter ju likadant (RecSet). Att dina två variabler med SQL-frågor i heter olika spelar i detta fall ingen roll.

Medlem sedan feb. 20041 311 inlägg
#5

Ouch!! Hehe, ok...

Vad tror du om denna då?

SQL = "SELECT * FROM tabell1 WHERE id =" & Request.QueryString("id")
SQL2 = "SELECT * FROM tabell2"
RecSet.Open SQL,SQL2, Conn

Medlem sedan dec. 200012 464 inlägg
#6

Om den tror jag inte

SQL = "SELECT * FROM tabell1 WHERE id =" & Request.QueryString("id")
set recSet1 = conn.execute(SQL)

SQL = "SELECT * FROM tabell2"
set Recset2 = conn.execute(sql)
Medlem sedan maj 20018 027 inlägg
#7

Det är väl bara att stänga RecSet innan man öppnar det för nästa fråga. :)

Medlem sedan feb. 20041 311 inlägg
#8

Ok, tack för tipset LarsG!
Jag har gjort en liknande manöver:

Set Recset2= Server.CreateObject("ADODB.Recordset")
...
SQL = "SELECT * FROM bilder"
RecSet2.Open SQL, Conn

Men får nu istället detta fel:
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'lgh=Bergsgatan 19'.

Vad fattas nu?

Medlem sedan juni 200032 967 inlägg
#9

Du skall ha apostrofer runt strängvärden (dvs runt Bergsgatan 19) i SQL.

Medlem sedan feb. 20041 311 inlägg
#10

Så här ser koden ut egentligen:

SQL = "SELECT * FROM bilder WHERE lgh=" & lghnamnet
RecSet2.Open SQL, Conn

"lgh" är kolumnnamnet i tabellen "bilder".
"lghnamnet" är en variabel som jag fyllt med en adress från en annan tabell (i detta fall Bergsgatan 19).
Tanken är att dessa ska vara identiska.

Medlem sedan juni 200032 967 inlägg
#11

Ok. Lägg då till apostrofer runt strängvärdet så bör den SQL-frågan fungera.

Medlem sedan feb. 20041 311 inlägg
#12

Så här?

SQL = "SELECT * FROM bilder WHERE lgh=" & 'lghnamnet'
RecSet2.Open SQL, Conn

Medlem sedan feb. 20041 311 inlägg
#13

Nä. Provade även med:
SQL = "SELECT * FROM bilder WHERE lgh=" & "lghnamnet"
RecSet2.Open SQL, Conn

men fick felet:
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

Medlem sedan dec. 200012 464 inlägg
#14
SQL = "SELECT * FROM bilder WHERE lgh='" & lghnamnet & "'"
Medlem sedan feb. 20041 311 inlägg
#15

Felmeddelande:
Item cannot be found in the collection corresponding to the requested name or ordinal.

Medlem sedan dec. 200012 464 inlägg
#16

Det beror på att du anger fel namn när du skall hämta värden från ditt recordset.

Medlem sedan feb. 20041 311 inlägg
#17

Kan du utveckla det där lite mer?
Jag vet att jag har värden i de via:

lgh_bild = Recset2("bild")
lgh_lgh = Recset2("lgh")
Response.Write(lghnamnet)
Response.Write(lgh_bild)
Response.Write(lgh_lgh)

lghnamnet och lgh_lgh är identiska, precis som det var meningen.
Men vad är det då som felar?

Kodraden som blir fel är:

<a href="javascript:Bilden('pics/<%=RecSet2(bild)%>','<%=RecSet2("lgh")%>');"><img src="pics/<%=RecSet2("bild")%>" width="90" border="1"></a>

Medlem sedan juni 200032 967 inlägg
#18

Du saknar citationstecken runt bild i den första utskriften i länken.

Medlem sedan feb. 20041 311 inlägg
#19

YES!!

Nu funkar det!
Tusen tack @nders och LarsG!

Hoppas Ni tjänar miljoner på detta - för det är Ni iaf värda!! :-)

Medlem sedan juni 200032 967 inlägg
#20

Vad bra att du fick ihop det! :bire

Lycka till med resten. :)

257 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)