12. december 2002 - 18:33
Der er
21 kommentarer og 2 løsninger
Add-script --> Jeg kan ikke få det til at virke
Jeg skal lave en side der hier den data frem fra databasen med en givet id-værdi Request.QueryString("id") Jeg har følgende skript: <--- liste.asp ---> <% ' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("../../../log/bandholm.mdb") Conn.Open DSN strSQL = "Select * From medlem2002 Order by efternavn" Set rs = Conn.Execute(strSQL) Do ' Personens navn strNavn = rs("Fornavn") & " " & rs("Efternavn") ' lav et link til person.asp med Id-værdien i URL strLink = "<a href='person.asp?id=" & rs("Id") & "'>" & strNavn & "</a>" ' lav et link til person.asp med Id-værdien i URL strLink2 = "<a href='ret-form.asp?id=" & rs("Id") & "'><font color='blue'>Ret</font></a>" ' Liste med links Response.Write "<li>" & strLink & " " & strLink2 & "</li>" rs.MoveNext Loop While Not rs.EOF Conn.Close Set Conn = Nothing %> <--- ret-form.asp ---> <% ' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath ("../../../log/bandholm.mdb") Conn.Open DSN ' Hent fra databasen afhængig af værdien id fra URL SQL = "SELECT * FROM medlem2002 WHERE id = " & Request.QueryString("id") Set rs = Conn.Execute(SQL) strID = rs("ID") strType = rs("Type") strFornavn = rs("Fornavn") strEfternavn = rs("Efternavn") strGade = rs("Gade") strNr = rs("Nr") strPost = rs("Post") strBy = rs("By") strLand = rs("Land") strBaad = rs("Baad") %> <!--#include file="function.asp"--> <html> <title>Medlemskardotek</title> <head> <!--#include virtual="/style.css"--> </head> <body> <dl> <table cellpadding=2 cellspacing=2 border=1 bordercolor=black class=format width="500"> <tr> <td width="100%" colspan="3"> <br> <form method="POST" action="ret-form.asp"> <div align="center"> <center> <table border="0" width="75%" cellspacing="0" cellpadding="0" height="223"> <tr> <td width="100%" height="25"><%=strError%> </td> </tr> <tr> <td width="100%" height="25"><font face="Verdana" size="2">ID: <%=strid%></font><br> <input type="hidden" name="id" value="<%=strid%>"> </td> </tr> <tr> <td width="100%" height="25"><font face="Verdana" size="2">Medlemstype:</font><br> <select name="Type" tabindex="1" value="<%=strType%>"> <option value="Familie">Familie</option> <option value="Aktiv">Aktiv</option> <option value="Passiv">Passiv</option> <option value="Æresmedlem">Æresmedlem</option> </select> </td> </tr> <tr> <td width="100%" height="25"><font face="Verdana" size="2">Fornavn:</font><br> <input type="text" name="Fornavn" size="28" class="box" tabindex="2" value="<%=strFornavn%>"> </td> </tr> <tr> <td width="100%" height="25"><font face="Verdana" size="2">Efternavn:</font><br> <input type="text" name="Efternavn" size="28" class="box" tabindex="4" value="<%=strEfternavn%>"> </td> </tr> <tr> <td width="100%" height="25"><font face="Verdana" size="2">Gadenavn:</font><br> <input type="text" name="Gade" size="28" class="box" tabindex="5" value="<%=strGade%>"> </td> </tr> <tr> <td width="100%" height="25"><font face="Verdana" size="2">Husnummer:</font><br> <input type="text" name="Nr" size="28" class="box" tabindex="6" value="<%=strNr%>"> </td> </tr> <tr> <td width="100%" height="25"><font face="Verdana" size="2">Postnummer:</font><br> <input type="text" name="Post" size="28" class="box" tabindex="7" value="<%=strPost%>"> </td> </tr> <tr> <td width="100%" height="25"><font face="Verdana" size="2">By:</font><br> <input type="text" name="By" size="28" class="box" tabindex="8" value="<%=strBy%>"> </td> </tr> <tr> <td width="100%" height="25"><font face="Verdana" size="2">Land:</font><br> <input type="text" name="Land" size="28" class="box" tabindex="9" value="<%=strLand%>"> </td> </tr> <tr> <td width="100%" height="25"><font face="Verdana" size="2">Bådnavn:</font><br> <input type="text" name="Baad" size="28" class="box" tabindex="10" value="<%=strBaad%>"> </td> </tr> <tr> <td width="100%" height="46"><br> <input type="submit" value=" Send " name="update" class="box" tabindex="11"> <input type="button" value=" Fortryd " name="Annuller" class="box" onClick="java script:location.href='medlem.asp'" tabindex="12"> </td> </tr> </table> </center> </div> </form> <br></td></tr> </table> <% SQL = "UPDATE medlem2002 SET Type = '" & RemoveHTML(Request.Form("Type")) & "', Fornavn = '" & RemoveHTML(Request.Form("Fornavn")) & "', Gade = '" & RemoveHTML(Request.Form("Gade")) & "', Nr = '" & RemoveHTML(Request.Form("Nr")) & "', Post = '" & RemoveHTML(Request.Form("Post")) & "', By = '" & RemoveHTML(Request.Form("By")) & "', Land = '" & RemoveHTML(Request.Form("Land")) & "', Baad = '" & RemoveHTML(Request.Form("Baad")) & "' WHERE id = " & Request.Form("id") %> Hvor værdierne fra databasen skulle sættes ind i formen igen, men det virker slet ikke :( Er der nogen der kan hjælpe?? Jeg håber jeg har udtrykt mig klart nok
Annonceindlæg fra Kingston Technology
12. december 2002 - 18:35
#1
Jeg får følgende fejl når jeg trykker "Send": Microsoft OLE DB Provider for ODBC Drivers fejl '80040e14' [Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket "id =". /best/login/medlem/ret-form.asp, linje 23
12. december 2002 - 18:36
#2
Linie 23 er: Set rs = Conn.Execute(SQL)
12. december 2002 - 18:39
#3
SQL = "SELECT * FROM medlem2002 WHERE id = " & Request.Form("id") Set rs = Conn.Execute(SQL) //>Rune
12. december 2002 - 18:41
#4
Din fejl opstår fordi der ikke bliver sendt noget data til din SQL Statement! -Du bruger nemlig POST som method, og siden du gør det skal du hente dine felter med Request.Form("felt") Hvis du brugte GET skal du hente dem rigtig nok med QueryString ;o) Så ret SQL = "SELECT * FROM medlem2002 WHERE id = " & Request.QueryString("id") Set rs = Conn.Execute(SQL) Til SQL = "SELECT * FROM medlem2002 WHERE id = " & Request.Form("id") Set rs = Conn.Execute(SQL) //>Rune
12. december 2002 - 18:49
#5
-->Rune Så får jeg denne samme fejl: Microsoft OLE DB Provider for ODBC Drivers fejl '80040e14' [Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket "id =". /best/login/medlem/ret-form.asp, linje 23
12. december 2002 - 22:01
#6
har du en Form på liste.asp?
13. december 2002 - 07:36
#7
Når du bruger Request.Form() ??? //>Rune
13. december 2002 - 08:33
#8
--> Rune Ja - når jeg bruger Request.Form("id") --> hossein nej jeg har ikke form på liste.asp!
13. december 2002 - 14:13
#9
<--- liste.asp ---> <% ' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("../../../log/bandholm.mdb") Conn.Open DSN strSQL = "Select * From medlem2002 Order by efternavn" Set rs = Conn.Execute(strSQL) Do ' Personens navn strNavn = rs("Fornavn") & " " & rs("Efternavn") ' lav et link til person.asp med Id-værdien i URL strLink = "<a href='person.asp?id=" & rs("Id") & "'>" & strNavn & "</a>" ' lav et link til person.asp med Id-værdien i URL strLink2 = "<a href='ret-form.asp?id=" & rs("Id") & "'><font color='blue'>Ret</font></a>" ' Liste med links Response.Write "<li>" & strLink & " " & strLink2 & "</li>" rs.MoveNext Loop While Not rs.EOF Conn.Close Set Conn = Nothing %> <--- ret-form.asp ---> <% ' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath ("../../../log/bandholm.mdb") Conn.Open DSN ' Hent fra databasen afhængig af værdien id fra URL SQL = "SELECT * FROM medlem2002 WHERE id = " & Request.QueryString("id") Set rs = Conn.Execute(SQL) strID = rs("ID") strType = rs("Type") strFornavn = rs("Fornavn") strEfternavn = rs("Efternavn") strGade = rs("Gade") strNr = rs("Nr") strPost = rs("Post") strBy = rs("By") strLand = rs("Land") strBaad = rs("Baad") %> <!--#include file="function.asp"--> <html> <title>Medlemskardotek</title> <head> <!--#include virtual="/style.css"--> </head> <body> <dl> <table cellpadding=2 cellspacing=2 border=1 bordercolor=black class=format width="500"> <tr> <td width="100%" colspan="3"> <br> <form method="POST" action="ret-form.asp?id=<%=strid%>"> <div align="center"> <center> <table border="0" width="75%" cellspacing="0" cellpadding="0" height="223"> <tr> <td width="100%" height="25"><%=strError%> </td> </tr> <tr> <td width="100%" height="25"><font face="Verdana" size="2">Medlemstype:</font><br> <select name="Type" tabindex="1" value="<%=strType%>"> <option value="Familie">Familie</option> <option value="Aktiv">Aktiv</option> <option value="Passiv">Passiv</option> <option value="Æresmedlem">Æresmedlem</option> </select> </td> </tr> <tr> <td width="100%" height="25"><font face="Verdana" size="2">Fornavn:</font><br> <input type="text" name="Fornavn" size="28" class="box" tabindex="2" value="<%=strFornavn%>"> </td> </tr> <tr> <td width="100%" height="25"><font face="Verdana" size="2">Efternavn:</font><br> <input type="text" name="Efternavn" size="28" class="box" tabindex="4" value="<%=strEfternavn%>"> </td> </tr> <tr> <td width="100%" height="25"><font face="Verdana" size="2">Gadenavn:</font><br> <input type="text" name="Gade" size="28" class="box" tabindex="5" value="<%=strGade%>"> </td> </tr> <tr> <td width="100%" height="25"><font face="Verdana" size="2">Husnummer:</font><br> <input type="text" name="Nr" size="28" class="box" tabindex="6" value="<%=strNr%>"> </td> </tr> <tr> <td width="100%" height="25"><font face="Verdana" size="2">Postnummer:</font><br> <input type="text" name="Post" size="28" class="box" tabindex="7" value="<%=strPost%>"> </td> </tr> <tr> <td width="100%" height="25"><font face="Verdana" size="2">By:</font><br> <input type="text" name="By" size="28" class="box" tabindex="8" value="<%=strBy%>"> </td> </tr> <tr> <td width="100%" height="25"><font face="Verdana" size="2">Land:</font><br> <input type="text" name="Land" size="28" class="box" tabindex="9" value="<%=strLand%>"> </td> </tr> <tr> <td width="100%" height="25"><font face="Verdana" size="2">Bådnavn:</font><br> <input type="text" name="Baad" size="28" class="box" tabindex="10" value="<%=strBaad%>"> </td> </tr> <tr> <td width="100%" height="46"><br> <input type="submit" value=" Send " name="update" class="box" tabindex="11"> <input type="button" value=" Fortryd " name="Annuller" class="box" onClick="java script:location.href='medlem.asp'" tabindex="12"> </td> </tr> </table> </center> </div> </form> <br></td></tr> </table> <% SQL = "UPDATE medlem2002 SET Type = '" & RemoveHTML(Request.Form("Type")) & "', Fornavn = '" & RemoveHTML(Request.Form("Fornavn")) & "', Gade = '" & RemoveHTML(Request.Form("Gade")) & "', Nr = '" & RemoveHTML(Request.Form("Nr")) & "', Post = '" & RemoveHTML(Request.Form("Post")) & "', By = '" & RemoveHTML(Request.Form("By")) & "', Land = '" & RemoveHTML(Request.Form("Land")) & "', Baad = '" & RemoveHTML(Request.Form("Baad")) & "' WHERE id = " & Request.Form("id") %> Prøv nu! //>Rune
14. december 2002 - 18:26
#10
--> Rune Nu får jeg ingen fejlmeldinger mere men den opdaterer ikke :(
15. december 2002 - 00:06
#11
Hvis du få ikke fejlmelding, så prøv det: Set Conn = Server.CreateObject("ADODB.Connection") Conn.Mode = 3 '3 = adModeReadWrite ...
15. december 2002 - 00:44
#12
--> hossein Det virker helle ikke... men jeg får stadig ikke nogen fejlmeling
15. december 2002 - 10:52
#13
hvor ligger din database? ligger din projekt på din egen server? Hvis det er din egen server, åben database ---> åben en af tabellerne, så må vi se om du få en fejlmedling? Når du submiter kommer næste side frem eller er det bare en hvid side?
15. december 2002 - 10:57
#14
ups, jeg mener åben db + åben en tabel også submit en sag.
15. december 2002 - 11:35
#15
Der skette det samme som før! Alle felterne er udfyldt med dataen fra Databasen. Hvis jeg så ændre et felts værdi og submitter, kommer den gamle værdi bare frem igen! :(
15. december 2002 - 12:38
#16
jeg kan ikke se hvor du opdatere værdierne. Rune har lavet en Update sætning i bunden men hvor er det på siden du "Execute"er den? jeg kender ikke Rune's fremgangs måde?!
15. december 2002 - 12:40
#17
Nu er jeg jo ikke ligefre´m haj til asp kan du prøve at være lidt mere pædagoisk? :D
15. december 2002 - 12:52
#18
Jeg ved måske hvad du mener: fra starten af filen (ret-form.asp)kommer: <% if not Session("godkendt12")= "godkendt" then Response.Clear Response.Redirect("../vsLOgin.asp") Response.End End IF ' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath ("../../../log/bandholm.mdb") Conn.Mode = 1 '3 = adModeReadWrite Conn.Open DSN ' Hent fra databasen afhængig af værdien id fra URL SQL = "SELECT * FROM medlem2002 WHERE id = " & Request.QueryString("id") Set rs = Conn.Execute(SQL) strID = rs("ID") strType = rs("Type") strFornavn = rs("Fornavn") strEfternavn = rs("Efternavn") strGade = rs("Gade") strNr = rs("Nr") strPost = rs("Post") strBy = rs("By") strLand = rs("Land") strBaad = rs("Baad") %> Og så kommer formen og head, html og så videre... og så kommer udaten i bunden ja: <% SQL = "UPDATE medlem2002 SET Type = 'Request.Form('Type')', Fornavn = 'Request.Form('Fornavn')', Gade = 'Request.Form('Gade')', Nr = 'Request.Form('Nr')', Post = 'Request.Form('Post')', By = 'Request.Form('By')', Land = 'Request.Form('Land')', Baad = 'Request.Form('Baad')' WHERE id = " & Request.Form("id") %>
15. december 2002 - 12:53
#19
jeg opdatere altid på den måde: <% navn = request.form("Navn") ... Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath ("database.mdb") strSQL = "Select * From Skema Where id=1" 'din select sætning og ikke update Set rst = Server.CreateObject("ADODB.Recordset") rst.Open strSQL, Conn, 3, 3 (3 fordi ellers er den readonly) rst.addnew (resten skal være din egen) rst.fields("navn") = navn rst.fields("tlfnr") = tlfnr rst.update rst.Close conn.close %>
15. december 2002 - 13:23
#20
--> hossein Er det sådan?? <% Type = Request.form("type") Fornavn = Request.form("Fornavn") Efternavn = Request.form("Efternavn") Gade = Request.form("gade") Nr = Request.form("nr") Post = Request.form("post") By = Request.form("By") Land = Request.form("Land") Baad = Request.form("Baad") ' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "provider=Microsoft.Jet.Oledb.4.0;Data Source=" & sever.MapPath(bandholm.mdb2) strSQL = "SELECT * FROM medlem2002 WHERE id = " & Request.QueryString("id") Set rs = Server.CreateObject("Adobe.Recordset") rs.open strSQL, 3, 3 rs.addnew rs.fields("Type") = type rs.fields("Fornavn") = Fornavn rs.fields("Efternavn") = Efternavn rs.fields("Gade") = Gade rs.fields("Nr") = Nr rs.fields("Post") = Post rs.fields("By") = By rs.fields("Land") = Land rs.fields("Baad") = Baad rs.update rs.Close Conn.Close %> Så får jeg denne fejlmelding: Type = Request.form("type")
15. december 2002 - 15:10
#21
Det er selvfølge denne fejlmelding! Der opstod en Microsoft VBScript-kompileringsfejl fejl '800a0400' En sætning var ventet /best/login/medlem/ret-form.asp, linje 14 Type = Request.form("type") ^
16. december 2002 - 21:21
#22
09. februar 2003 - 22:57
#23
Thx 4 Poinz //>Rune
Kurser inden for grundlæggende programmering