Avatar billede Jman Praktikant
14. december 2000 - 11:32 Der er 13 kommentarer og
1 løsning

Kan ikke finde fejlen

Er der nogen der kan fortælle mig hvorfor jeg får denne fejl:
ADODB.Recordset error \'800a0e7d\'

Programmet har anmodet om en handling på et objekt, som har en henvisning til et lukket eller ugyldigt forbindelsesobjekt.

/intravisen/stillingsgruppen/soeg2.asp, line 31

- ved brug af dette:
<%@ LANGUAGE=\"VBSCRIPT\" %>
<% hvilket = Request.Form(\"hvilken\") %>

<html>
<head>
<LINK REL=\"STYLESHEET\" TYPE=\"text/css\" HREF=\"../text.css\">
<title>Søg efter en kontaktperson</title>
</head>

<body bgcolor=\"#C0C0C0\" link=\"#FFFFFF\" vlink=\"#FFFFFF\" alink=\"#008080\">

<% if hvilket = \"\" then  %>

<b>Søg efter en kontaktperson:</b>

<form action=\"soeg2.asp\" method=\"post\">
    <input type=\"Text\" name=\"hvilken\"><br>
    <input type=\"Submit\" value=\"SØG\">
</form><br><br>

<% else %>

<b>Personoplysninger:</b>

<%

Dim objRec

Set objRec = Server.CreateObject(\"ADODB.recordset\")
   
    objRec.open \"SELECT * FROM kontaktpersoner WHERE fornavn LIKE \'%\"&hvilket&\"%\' OR efternavn LIKE \'%\"&hvilket&\"%\'\"
    strConnect=\"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"fpdb/kontaktpersoner.mdb\")
   
Do while not objRec.eof
    antal = antal +1
    opjRec.movenext

    Loop

    if antal > 0 then
    Response.write \"<b>Der var \" & antal & \" fundne personer</b><p>\"
    ObjRec.movefirst

Do while Not objRec.eof
    Response.write \"<b>\" & objRec(\"fornavn\") & \" \" & objRec(\"efternavn\")
    Response.write \"</b><br>Adresse: <b>\" & objRec(\"adresse\")
    Response.write \"</b><br>Telefon: <b>\" & objRec(\"telefon\")
    Response.write \"</b><br>Arbejde: <b>\" & objRec(\"telefonarbejde\")
    Response.write \"</b><br>E-post: <b>\" & objRec(\"epost\")
    Response.write \"</b><br>Hjemmeside: <b>\" & objRec(\"hjemmeside\") & \"</b>\"
    Response.write \"<hr width=\'250\' Height=\'1\'align=\'left\'>\"
    objRec.MoveNext
    Loop
   
    Else
    Response.write \"Desværre, navnet du søgte findes ikke i databasen!<p>\"

    end if

objRec.Close
Set objRec = Nothing %>

<% end if %>
</body>
</html>
Avatar billede Jman Praktikant
14. december 2000 - 11:36 #1
...altså udover den stavefejl, der er rette under \"do while\" løkken
Avatar billede kasseper Nybegynder
14. december 2000 - 11:37 #2
du har ingen database connection !
Avatar billede Jman Praktikant
14. december 2000 - 11:38 #3
jo, da StrConnect (den ligger der hvor MapPath peger)
Avatar billede kasseper Nybegynder
14. december 2000 - 11:42 #4
nej da det er sq ikke en connection.....
Avatar billede kasseper Nybegynder
14. december 2000 - 11:45 #5
brug denne :

<%@ LANGUAGE=\"VBSCRIPT\" %>
<% hvilket = Request.Form(\"hvilken\") %>

<html>
<head>
<LINK REL=\"STYLESHEET\" TYPE=\"text/css\" HREF=\"../text.css\">
<title>Søg efter en kontaktperson</title>
</head>

<body bgcolor=\"#C0C0C0\" link=\"#FFFFFF\" vlink=\"#FFFFFF\" alink=\"#008080\">

<% if hvilket = \"\" then  %>

<b>Søg efter en kontaktperson:</b>

<form action=\"soeg2.asp\" method=\"post\">
    <input type=\"Text\" name=\"hvilken\"><br>
    <input type=\"Submit\" value=\"SØG\">
</form><br><br>

<% else %>

<b>Personoplysninger:</b>

<%
strConnect=\"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"fpdb/kontaktpersoner.mdb\")
   
Set objConn = Server.CreateObject(\"ADODB.Connection\")
objConn.Open strConnect
   
SQL = \"SELECT * FROM kontaktpersoner WHERE fornavn LIKE \'%\"&hvilket&\"%\' OR efternavn LIKE \'%\"&hvilket&\"%\'\"

Set objRec = objConn.execute(SQL)
   
Do while not objRec.eof
    antal = antal +1
    opjRec.movenext

    Loop

    if antal > 0 then
    Response.write \"<b>Der var \" & antal & \" fundne personer</b><p>\"
    ObjRec.movefirst

Do while Not objRec.eof
    Response.write \"<b>\" & objRec(\"fornavn\") & \" \" & objRec(\"efternavn\")
    Response.write \"</b><br>Adresse: <b>\" & objRec(\"adresse\")
    Response.write \"</b><br>Telefon: <b>\" & objRec(\"telefon\")
    Response.write \"</b><br>Arbejde: <b>\" & objRec(\"telefonarbejde\")
    Response.write \"</b><br>E-post: <b>\" & objRec(\"epost\")
    Response.write \"</b><br>Hjemmeside: <b>\" & objRec(\"hjemmeside\") & \"</b>\"
    Response.write \"<hr width=\'250\' Height=\'1\'align=\'left\'>\"
    objRec.MoveNext
    Loop
   
    Else
    Response.write \"Desværre, navnet du søgte findes ikke i databasen!<p>\"

    end if

objRec.Close
Set objRec = Nothing
objCOnn.Close
Set objConn = Nothing
%>

<% end if %>
</body>
</html>


Avatar billede Jman Praktikant
14. december 2000 - 11:53 #6
Tusind tak - jeg er sprit ny i dette (lige hjemvendt fra todages intensiv kursus)

Hvad var problemet konkret?
Jeg kan se du har tilføjet en execute...
Avatar billede kasseper Nybegynder
14. december 2000 - 11:58 #7
Jeg har ændret dette :
******************************************************
Dim objRec

Set objRec = Server.CreateObject(\"ADODB.recordset\")
   
    objRec.open \"SELECT * FROM kontaktpersoner WHERE fornavn LIKE \'%\"&hvilket&\"%\' OR efternavn LIKE \'%\"&hvilket&\"%\'\"
    strConnect=\"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"fpdb/kontaktpersoner.mdb\")
******************************************************
   
Til dette :

******************************************************
strConnect=\"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"fpdb/kontaktpersoner.mdb\")
   
Set objConn = Server.CreateObject(\"ADODB.Connection\")
objConn.Open strConnect
   
SQL = \"SELECT * FROM kontaktpersoner WHERE fornavn LIKE \'%\"&hvilket&\"%\' OR efternavn LIKE \'%\"&hvilket&\"%\'\"

Set objRec = objConn.execute(SQL)
******************************************************

Du havde ikke oprettet et Connection object.
Det skal man + at man skal åbne dette med sin strConnect.
Desuden kan jeg sige at man ikke behøver at Skrive :
\'Dim objRec\' og \'Set objRec = Server.CreateObject(\"ADODB.recordset\")\'
Når du laver Set objRec = objConn.execute(SQL)
Så ved Serveren at objRec er et nyt object da den ikke har set det før og at det skal være et recordset...Små fif som du vil lære hen af vejen....Go fornøjelse....
Avatar billede Jman Praktikant
14. december 2000 - 12:44 #8
takker - men kan man lave det sådan at mailadressen fra DB bliver til et link når siden vises?
Avatar billede Jman Praktikant
14. december 2000 - 12:59 #9
jeg tilbyder 15 skarpe mere ;-)
Avatar billede morpheus Nybegynder
14. december 2000 - 14:41 #10
Ja... Det gøres såden her:

<a href=\"mailto:<%= rs(\"mailadressen\") %>\"><%= rs(\"den-mailen-er-til\") %></a>

Så nemt er det...

DouBle-T
Avatar billede Jman Praktikant
14. december 2000 - 17:33 #11
do While Not objRec.EOF
    Response.write \"<b>\" & objRec(\"fornavn\") & \" \" & objRec(\"efternavn\") & \"</b><br>\"
    Response.write objRec(\"adresse\") & \"<br>\"
    Response.write objRec(\"postnr\") & \" \" & objRec(\"byzone\") & \"<br>\"
    Response.write objRec(\"telefon\") & \"<br>\"
    Response.write objRec(\"mobil\") & \"<br>\"
    Response.write objRec(\"telefonarbejde\") & \"<br>\"
    Response.write objRec(\"epost\") &
    Response.write objRec(\"hjemmeside\") & \"</b>\"
    objRec.MoveNext
Response.write \"<hr width=\'300\' align=\'left\'>\"
Loop
------
Kan du sætte den ind her?
Avatar billede Jman Praktikant
14. december 2000 - 20:03 #12
Jeg får følgende fejl:
Objektet understøtter ikke denne egenskab eller metode: \'objRec\'

/intravisen/stillingsgruppen/soeg3.asp, line 71
Avatar billede morpheus Nybegynder
14. december 2000 - 22:09 #13
Hvad er linie 71 ?
Avatar billede Jman Praktikant
15. december 2000 - 00:05 #14
  <% Response.write \"<font face=\'Arial\' size=\'2\'>E-post:</td>\"%> \"<td><font face=\'Arial\' size=\'2\' color=\'#666666\'><b> <a href=\'mailto:\" <% objRec(\"epost\") %>\'><% objRec(\"epost\") %>\" </a></b></font>
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