Avatar billede Jman Praktikant
30. oktober 2001 - 12:28 Der er 25 kommentarer og
1 løsning

Hmmm - søgescript

<% hvilket = Request.Form(\"hvilken\") %>
<html>
<head>
    <title>tidligere indlæg</title>
<link rel=\"stylesheet\" type=\"text/css\" href=\"http://intranet.avisen.dk/prepress/scripts/prepress.css\">

</head>
<body>
<%
if hvilket = \"\" then  %>
<h2>Søg efter tidligere indlæg:</h2>
<form action=\"soeg2.asp\" method=\"post\">
    <input type=\"Text\" name=\"hvilken\" size=\"20\"><br>
    <input type=\"Submit\" value=\"SØG\">
</form><br><br>
<% else %>

<h3>Emner:</h3>

<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"info.mdb\")

objRec.Open \"SELECT * FROM info WHERE emne = \'\" & hvilket & \"\' OR info =\'\" & hvilket & \"\'\"

antal = objRec.recordcount

if antal > 0 then
    Response.write \"<b>Der var \" & antal & \" fundne emner</b><p>\"
    While Not objRec.EOF
    Response.write \"<b>\" & objRec(\"emne\") & \" \" & objRec(\"uge\")
    Response.write \"</b><br>skrevet af: <b>\" & objRec(\"init\")
    Response.write \"\" & objRec(\"info\") & \"</b>\"
    objRec.MoveNext
Response.write \"<hr width=\'250\' align=\'left\'>\"
Wend

objRec.Close
Set objRec = Nothing

else
    Response.write \"Desværre, emnet du søgte findes ikke i databasen!<p>\"
end if
end if
%>
</body>
</html>
----
Fejlmeddelelse:

Der opstod en Microsoft VBScript-kørselsfejl error \'800a01a8\'

Et objekt er obligatorisk: \'\'

/prepress/info/soeg2.asp, line 24
-----
Hjælp (?)
Avatar billede simonsen2 Nybegynder
30. oktober 2001 - 13:55 #1
Er det ikke fordi din streng er forkert ?
Prøv denne:
objRec.Open \"SELECT * FROM info WHERE emne = \" & hvilket & \" OR info = \" & hvilket

Avatar billede Jman Praktikant
30. oktober 2001 - 14:03 #2
nope - jeg får samme fejl!
Avatar billede simonsen2 Nybegynder
30. oktober 2001 - 14:36 #3
Har du en option explicit på - denne kunne måske give en mere sigende fejl-melding
Avatar billede simonsen2 Nybegynder
30. oktober 2001 - 14:54 #4
Hvis du prøver at sætte like rundt omkring hvilket :
\"SELECT * FROM info WHERE ((emne like \'%\" & hvilket & \"%\')OR (info like \'%\" & hvilket & \"%\'))\"


Avatar billede Jman Praktikant
30. oktober 2001 - 14:59 #5
Den giver stadig samme fejl :(

Der opstod en Microsoft VBScript-kørselsfejl error \'800a01a8\'

Et objekt er obligatorisk: \'\'

/prepress/info/soeg2.asp, line 24
Avatar billede simonsen2 Nybegynder
30. oktober 2001 - 15:53 #6
Hvad er der i soeg2.asp på linie 24??
Avatar billede simonsen2 Nybegynder
30. oktober 2001 - 15:58 #7
Mangler du egentlig ikke linien -
Set objRec = Server.CreateObject (\"ADODB.Recordset\")
Avatar billede Jman Praktikant
30. oktober 2001 - 16:01 #8
jo *S* den har jeg smidt på
Avatar billede Jman Praktikant
30. oktober 2001 - 16:03 #9
sådan ser den ud lige nu:

<% hvilket = Request.Form(\"hvilken\") %>
    <html>
    <head>
    <title>tidligere indlæg</title>
    <link rel=\"stylesheet\" type=\"text/css\" href=\"../scripts/prepress.css\">
    </head>
    <body>
<%
if hvilket = \"\" then  %>
    <h2>Søg efter tidligere indlæg:</h2>
    <form action=\"soeg2.asp\" method=\"post\">
    <input type=\"Text\" name=\"hvilken\" size=\"20\"><br>
    <input type=\"Submit\" value=\"SØG\">
    </form><br><br>
<% else %>
    <h3>Emner:</h3>
<%
Dim objRec, antal
antal = 0
Set objRec = Server.CreateObject(\"ADODB.recordset\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"info.mdb\")

objRec.Open \"SELECT * FROM info WHERE emne = \'\" & hvilket & \"\' OR info =\'\" & hvilket & \"\' \"

antal = objRec.recordcount

if antal > 0 then
    Response.write \"<b>Der var \" & antal & \" fundne emner</b><p>\"
    While Not objRec.EOF
    Response.write \"<b>\" & objRec(\"emne\") & \" \" & objRec(\"uge\")
    Response.write \"</b><br>skrevet af: <b>\" & objRec(\"Init\")
    Response.write \"\" & objRec(\"info\") & \"</b>\"
    objRec.MoveNext
Response.write \"<hr width=\'250\' align=\'left\'>\"
Wend

objRec.Close
Set objRec = Nothing

else
    Response.write \"Desværre, emnet du søgte findes ikke i databasen!<p>\"
end if
end if
%>
    </body>
    </html>
Avatar billede simonsen2 Nybegynder
30. oktober 2001 - 16:14 #10
Jeg er ikke sikker på om det har betydning, men jeg ville lægge linien
Set objRec = Server.CreateObject(\"ADODB.recordset\")
under
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"info.mdb\")
Jeg har faktisk aldrig skrevet det omvendt, så....
Avatar billede Jman Praktikant
30. oktober 2001 - 16:17 #11
det har ingen betydning
Avatar billede eagleeye Praktikant
30. oktober 2001 - 16:18 #12
Får du stadig fejl?
for nu har du fjernet:
Set Conn = Server.CreateObject(\"ADODB.Connection\")


Det er også altid en god ide at lukke sin forbindelse til databasen:

objRec.Close
Set objRec = Nothing
Conn.Close
Set conn = Nothing
Avatar billede Jman Praktikant
30. oktober 2001 - 16:22 #13
stadig samme fejl
Avatar billede eagleeye Praktikant
30. oktober 2001 - 16:36 #14
hvilken linie er det i efter alle de ting er indsat?
Avatar billede Jman Praktikant
30. oktober 2001 - 16:38 #15
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"info.mdb\")\"
Avatar billede Jman Praktikant
30. oktober 2001 - 16:39 #16
ups - der skal selvfølgelig ikke være \" i enden
Avatar billede eagleeye Praktikant
30. oktober 2001 - 16:48 #17
det skulle ikke vær nødvendigt med \" tilsidst i Conn.Open
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"info.mdb\")

Du mangler en connection på objrec.open:
objRec.Open \"SELECT * FROM info WHERE emne = \'\" & hvilket & \"\' OR info =\'\" & hvilket & \"\' \",conn
Avatar billede Jman Praktikant
30. oktober 2001 - 16:51 #18
naaaaaah..heller ikke.. Jeg får stadig samme fejlmeddelelse
Avatar billede eagleeye Praktikant
30. oktober 2001 - 16:53 #19
SÅ med

objRec.Open \"SELECT * FROM info WHERE emne = \'\" & hvilket & \"\' OR info =\'\" & hvilket & \"\' \",conn,1,3
Avatar billede Jman Praktikant
30. oktober 2001 - 16:55 #20
virker ikke - hvad skulle ,1,3 være godt for ?
Avatar billede eagleeye Praktikant
30. oktober 2001 - 16:57 #21
nogle parametre man kan sætte på recordset.open noget med cursor type og readonly, men det skulle heller ikke betyde noget når man læser fra den.

Hvilken linie kommer fejlen i?
Avatar billede Jman Praktikant
30. oktober 2001 - 17:00 #22
jeg sætte den lige en gang til for prins knud.. Jeg har nemlig også pillet lidt *S*
--------
<% hvilket = Request.Form(\"hvilken\") %>
    <html>
    <head>
    <title>tidligere indlæg</title>
    <link rel=\"stylesheet\" type=\"text/css\" href=\"../scripts/prepress.css\">
    </head>
    <body>
<%
if hvilket = \"\" then  %>
    <h2>Søg efter tidligere indlæg:</h2>
    <form action=\"soeg2.asp\" method=\"post\">
    <input type=\"Text\" name=\"hvilken\" size=\"20\"><br>
    <input type=\"Submit\" value=\"SØG\">
    </form><br><br>
<% else %>
    <h3>Emner:</h3>
<%
Dim objRec, antal
antal = 0

Set objRec = Server.CreateObject(\"ADODB.recordset\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"info.mdb\")

objRec.Open \"SELECT * FROM info WHERE emne = \'\" & hvilket & \"\' OR info =\'\" & hvilket & \"\' \",conn,1,3

antal = objRec.recordcount

if antal > 0 then
    Response.write \"<b>Der var \" & antal & \" fundne emner</b><p>\"
    While Not objRec.EOF
    Response.write \"<b>\" & objRec(\"emne\") & \" \" & objRec(\"uge\")
    Response.write \"</b><br>skrevet af: \" & objRec(\"Init\")
    Response.write objRec(\"info\")
    objRec.MoveNext
Response.write \"<hr width=\'250\' align=\'left\'>\"
Wend

objRec.Close
Set objRec = Nothing
Conn.Close
Set conn = Nothing

else
    Response.write \"Desværre, emnet du søgte findes ikke i databasen!<p>\"
end if
end if
%>
    </body>
    </html>
--------
Resultat er flg.:
Emner:
Der opstod en Microsoft VBScript-kørselsfejl error \'800a01a8\'

Et objekt er obligatorisk: \'\'

/prepress/info/soeg2.asp, line 22
Avatar billede Jman Praktikant
30. oktober 2001 - 17:00 #23
der er plinger efter ...obligatorisk
Avatar billede eagleeye Praktikant
30. oktober 2001 - 17:03 #24
det skal set conn= server...:

Set Conn = Server.CreateObject(\"ADODB.Connection\")
Set objRec = Server.CreateObject(\"ADODB.recordset\")


Avatar billede eagleeye Praktikant
30. oktober 2001 - 17:04 #25
hov ... blev ikke fædig.
Den skal in inden denne:

Conn.Open \"....
Avatar billede Jman Praktikant
30. oktober 2001 - 17:12 #26
Puuuuh - det hjalp - nu har jeg da forbindelse!
Men stadig hopper den direkte til \"Desværre, emnet du søgte...\" - selv om jeg søger på et ord jeg VED ligger i info eller emne
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester