webForumDet fria alternativet

fel ADODB.Recordset error '800a0bb9'

ASP

3 svar · 278 visningar · startad av magnusfeldth

Medlem sedan jan. 20034 480 inlägg
Frågan#1

ADODB.Recordset error '800a0bb9'

Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

/assistenten.asp, line 278

Jag skickar ett värde till ett form som finns i en server.execute...

<% if request.querystring("do") = "sokning" then

Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("addemalmbergadmin/tubsockan.mdb")

Set RecSet = Server.CreateObject("ADODB.Recordset")

SQL2 = "select * from sockrates where rubrik like '%" & request.form("search1") & "%' ORDER BY ID DESC"
RecSet.Open SQL2, Connect, adOpenStatic, adLockOptimistic   <---rad278

do until recset.EOF
%>
<%=recset("ID")%>&nbsp;<%=recset("Rubrik")%><br>
<%
recset.Movenext
Loop
recset.Close
end if
%>

går det inte eftersom den ligger i en server.execute eller? Hur kan jag göra?

Medlem sedan dec. 200012 464 inlägg
#2

server.execute har ingen betydelse i sammanhanget.

Felet beror nog på att konstanterna adOpenStatic, adLockOptimistic är odefinierade.

Det är för övrigt onödigt att använda dem i detta läge eftersom du bara behöver ett recordset som är readonly och forwardonly. Använd

set RecSet = connect.execute(SQL2)

och då kan du även ta bort denna rad

Set RecSet = Server.CreateObject("ADODB.Recordset")
Medlem sedan jan. 20034 480 inlägg
#3

tack, nu funkar det!

Medlem sedan mars 20023 561 inlägg
#4

Lite optimeringar: ;)

<%
If request.querystring("do") = "sokning" then

Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &Server.MapPath("addemalmbergadmin/tubsockan.mdb")

SQL2 = "select * from sockrates where rubrik like '%" & request.form("search1") & "%' ORDER BY ID DESC"

Set RecSet = Connect.Execute(SQL2)

Do until recset.EOF
     Response.Write(RecSet("id") & " " & RecSet("rubrik") & "<br>")
     RecSet.Movenext
Loop

RecSet.Close : Set RecSet = Nothing
Connect.Close : Set Connect = Nothing
End if
%>
258 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)