diverse fel

ASP

8 svar · 185 visningar · startad av pettsson

Medlem sedan jan. 20021 122 inlägg
Trådstart#1

när jag testar min sida i IIS får jag två olika fel. även om jag inte ändrar nåt i koden kan det bli olika felmeddelanden från gång till gång. problemet är på en sida med databaser. det här är de fel jag får:

odefinerat fel
vad ska det betyda? koden på den raden är:
oppna.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\asp\databas.mdb"

Objekt krävs:
Objekt krävs.: '', vad betyder det? ska jag sätta ' runt koden? koden är:
recset.open dbed, oppna, adopenstatic, adlockoptimistic

Medlem sedan feb. 20012 412 inlägg
#2

Hej och välkommen till wF!

Det första felet kan vara klurigt att säga något om utan mer information.

Objekt krävs:
Objekt krävs.: '', vad betyder det? ska jag sätta ' runt koden? koden är:
recset.open dbed, oppna, adopenstatic, adlockoptimistic

Men detta andra är lite enklare. Har du inkluderas ADOVBS.inc på sidan?

Medlem sedan jan. 20021 122 inlägg
#3

<!-- #include file="adovbs.inc" -->
ligger längst upp i filen

Medlem sedan feb. 20012 412 inlägg
#4

Posta lite mer kod så blir det enklare att hitta eventuella fel.

mvh Jörgen :)

Medlem sedan dec. 200012 464 inlägg
#5

Objekt krävs beror nog på att du inte har skapat recset.

Det första problemet kan ha flera orsaker men ett en möjlig felkälla är att sökvägen är felaktig.

Medlem sedan jan. 20021 122 inlägg
#6
<!-- #include file="adovbs.inc" -->
<html>
<head>
</head>
<body>
<%
dim oppna, visa, recset, dbed
set oppna=server.createobject("adodb.connection")
oppna.Open "driver={Microsoft Access Driver_ (*.mdb)};dbq=c:\inetpub\wwwroot\asp\ databas\databas.mdb"
dbed="SELECT * FROM databas"

if request.querystring("ordning") ="krit1" or request.querystring("ordning")="krit2" then
set recset=server.createobject("adodb.connection")
end if

if request.querystring("ordning") ="krit1" then
dbed="SELECT * FROM scoutm ORDER BY krit1"
elseif request.querystring("ordning") ="krit2" then
dbed="SELECT * FROM databas ORDER BY krit2"
end if

recset.open dbed, oppna, adopenstatic, adlockoptimistic
do until recset.EOF
%>

Här presenteras databasens innehåll

<%
recset.movenext
loop
recset.close
%>

</body>
</html>

Möjligt att det blir lite skumt med radbrytningar, hoppas att det inte ser helt knäppt ut...

Medlem sedan dec. 200012 464 inlägg
#7

När du skapar recset så anger du att det skall vara ett connectionobjekt och inte ett recordset, så den koden borde bli

if request.querystring("ordning") ="krit1" or request.querystring("ordning")="krit2" then
set recset=server.createobject("adodb.recordset")
end if

istället.

Medlem sedan jan. 20021 122 inlägg
#8

nu ser koden ut såhär:

<!-- #include file="adovbs.inc" -->
<html>
<head>
<title>
Visning
</title>
</head>
<body>
<%
set oppna=server.createobject("adodb.connection")
oppna.Open "driver={Microsoft Access Driver (*.mdb)};dbq=C:\Inetpub\wwwroot\asp\databas\databas.mdb"

if request.querystring("ordning")="krit1" or request.querystring("ordning")="namn" then
set recset=server.createobject("adodb.recordset")
end if

if request.querystring("ordning")="krit1" then
dbed="SELECT * FROM scoutm ORDER BY krit1"
elseif request.querystring("ordning")="krit2" then
dbed="SELECT * FROM scoutm ORDER BY krit2"
end if

recset.open dbed, oppna, adopenstatic, adlockoptimistic %>
Detta finns i databasen just nu:
<ul>
<% do until recset.EOF %>
<li><% =recset("krit1")%> <% =recset("krit2")%>
<hr noshade size="1">

<%
recset.movenext
loop
recset.close
oppna.close
%>

</body>
</html>

problemet nu är att den tycker att jag måste ha ett recset på rad 25, markerad med blått i koden. varför?

[Redigerat av pettsson den 06 jan 2002]

Medlem sedan dec. 200012 464 inlägg
#9

Med den if-sats du har så är det inte säkert att du skapar något recordset.

Borde du inte skriva så här

if request.querystring("ordning")="krit1" or request.querystring("ordning")="namn" then
set recset=server.createobject("adodb.recordset")

if request.querystring("ordning")="krit1" then
dbed="SELECT * FROM scoutm ORDER BY krit1"
elseif request.querystring("ordning")="namn" then
dbed="SELECT * FROM scoutm ORDER BY namn"
end if

recset.open dbed, oppna, adopenstatic, adlockoptimistic %>
Detta finns i databasen just nu:
<ul>
<% do until recset.EOF %>
<li><% =recset("krit1")%> <% =recset("krit2")%>
<hr noshade size="1">

<%
recset.movenext
loop
recset.close
oppna.close
end if
%>

</body>
</html>
257 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)