30. maj 2005 - 15:01
Der er
23 kommentarer og 1 løsning
Update til accesdatabase med asp
Jeg har fejl i min update sætning og aner ikke hvilken, kan nogen hjælpe??? Koden er: <!--#include file ="ConnectionTilDatabase.asp" --> <!--#include file ="kontrol.asp" --> <% SQL = "UPDATE Bruger" SQL = SQL & " SET VærelseID = " & request.querystring("VærelseID") & ", " SQL = SQL & "Fornavn = '" & request.querystring("Fornavn") & "', " SQL = SQL & "Efternavn = '" & request.querystring("Efternavn") & "', " SQL = SQL & "Password = '" & request.querystring("Password") & "', " SQL = SQL & "Postnr = " & request.querystring("Postnr") & ", " SQL = SQL & "Adresse = '" & request.querystring("Adresse") & "', " SQL = SQL & "Telefon = '" & request.querystring("Telefon") & "', " SQL = SQL & "Email = '" & request.querystring("Email") & "', " SQL = SQL & "CPRnummer = " & request.querystring("CPRnummer") & " " SQL = SQL & " WHERE MedlemsID=" & q & ";" 'response.write sql conn.Execute(SQL) conn.close Response.Redirect("Rediger.asp") %> Fejlen er: Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i UPDATE-sætningen. /Asp opgaver/Gemredigerbruger.asp, line 20
Annonceindlæg tema
prøv udskrive din sql inden du executer den og hvis hvad den siger
q kommer fra : q = Request.QueryString("id") if q <> "" then q = CInt(q) ok
ok det var jo ikke til at se Men hvis q = "" ...så fejler din sql vel
Den siger: UPDATE Bruger SET VærelseID = , Fornavn = '', Efternavn = '', Password = '', Postnr = , Adresse = '', Telefon = '', Email = '', CPRnummer = WHERE MedlemsID=; den henter jo ikke noget derfra hva skal man så gøre??
Nej det er rigtigt sorry... hva gør jeg så?
er det fra en form? Så hedder det jo request.form i stedet for request.querystring
der må være noget helt galt siden ingen værdier kommer med jo
det er her fra: <HTML> <HEAD> <TITLE>Log in</TITLE> </HEAD> <BODY> <table width="100%" border="0" cellspacing="0"> <tr> <td width="30%"> </td> <td width="60%"> <% q = Request.QueryString("id") if q <> "" then q = CInt(q) SQL="Select * from Bruger where MedlemsID=" & q set rs = Conn.execute(SQL) if not (rs.bof or rs.eof) then Str = str & "<table>" Str = str & "<Form Action=""Gemredigerbruger.asp"" Method=""post"">" Str = str & "<tr><td colspan=""2""><h2>Medarbejder oplysninger</h2></td></tr>" Str = str & "<tr><Input type=""Hidden"" Name=""brugerid"" value=" & Request.QueryString("id") & " " Str = str & "<tr><td>VærelseID</td><td><Input type=""Text"" Name=""VærelseID"" value=""" & rs("VærelseID") & """></td></tr>" Str = str & "<tr><td>Fornavn</td><td><Input type=""Text"" Name=""Fornavn"" value=""" & rs("Fornavn") & """></td></tr>" Str = str & "<tr><td>Efternavn</td><td><Input type=""Text"" Name=""Efternavn"" value=""" & rs("Efternavn") & """></td></tr>" Str = str & "<tr><td>Password</td><td><Input type=""Text"" Name=""Password"" value=""" & rs("Password") & """></td></tr>" Str = str & "<tr><td>Postnr</td><td><Input type=""Text"" Name=""Postnr"" value=""" & rs("Postnr") & """></td></tr>" Str = str & "<tr><td>Adresse</td><td><Input type=""Text"" Name=""Adresse"" value=""" & rs("Adresse") & """></td></tr>" Str = str & "<tr><td>Telefon</td><td><Input type=""Text"" Name=""telefon"" value=""" & rs("Telefon") & """></td></tr>" Str = str & "<tr><td>E-mail</td><td><Input type=""Text"" Name=""email"" value=""" & rs("email") & """></td></tr>" Str = str & "<tr><td>CPRnummer</td><td><Input type=""Text"" Name=""CPRnummer"" value=""" & rs("CPRnummer") & """></td></tr>" Str = str & "<tr><td></td><td align=""left""><Input type=""Submit"" Value=""Gem ændringer""></td></tr>" Str = str & "</FORM>" Str = Str & "</table>" else response.write "posten findes ikke i databasen!" End If response.write Str response.Write "<p><a href=""Medarbejderliste.asp"">Retur til Medarbejderlisten</a></p>" Conn.Close Set Conn = Nothing else response.write "fejl i querystring.." end if %> </body> </html>
ja præcis.. form har method = post Så alle dine "request.querystring" skal rettes til "request.form"
Nu siger den jeg mangler en operator... [Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket "MedlemsID=". /Asp opgaver/Gemredigerbruger.asp, line 23
prøv udskrive den igen og sætte den herind.. så er det nok til at se
UPDATE Bruger SET VærelseID = 1, Fornavn = 'Christian', Efternavn = 'Sørensen', Password = '190982', Postnr = 2610, Adresse = 'Rødovre Parkvej 203, 2sal', Telefon = '36413201', Email = 'bukkerup@hotmail.com', CPRnummer = 1909821289 WHERE MedlemsID=;
ok du overfører jo ikke værdien q er ikke global mellem flere asp sider! Du er nød til i din form at have værdien med i et hidden felt, altså ala -- Str = str & "<input name=""MedlemsID"" type=""hidden"" value="""&q&""">" -- Og så på den anden side bliver du nød til også have en request.form("MedlemsID") hvis du er med?
den er jeg ikke helt med på
sådan her i den ene fil --- <HTML> <HEAD> <TITLE>Log in</TITLE> </HEAD> <BODY> <table width="100%" border="0" cellspacing="0"> <tr> <td width="30%"> </td> <td width="60%"> <% q = Request.QueryString("id") if q <> "" then q = CInt(q) SQL="Select * from Bruger where MedlemsID=" & q set rs = Conn.execute(SQL) if not (rs.bof or rs.eof) then Str = str & "<table>" Str = str & "<Form Action=""Gemredigerbruger.asp"" Method=""post"">" Str = str & "<tr><td colspan=""2""><h2>Medarbejder oplysninger</h2></td></tr>" Str = str & "<tr><Input type=""Hidden"" Name=""brugerid"" value=" & Request.QueryString("id") & " " Str = str & "<tr><td>VærelseID</td><td><Input type=""Hidden"" Name=""MedlemsID" value=""" & q & """><Input type=""Text"" Name=""VærelseID"" value=""" & rs("VærelseID") & """></td></tr>" Str = str & "<tr><td>Fornavn</td><td><Input type=""Text"" Name=""Fornavn"" value=""" & rs("Fornavn") & """></td></tr>" Str = str & "<tr><td>Efternavn</td><td><Input type=""Text"" Name=""Efternavn"" value=""" & rs("Efternavn") & """></td></tr>" Str = str & "<tr><td>Password</td><td><Input type=""Text"" Name=""Password"" value=""" & rs("Password") & """></td></tr>" Str = str & "<tr><td>Postnr</td><td><Input type=""Text"" Name=""Postnr"" value=""" & rs("Postnr") & """></td></tr>" Str = str & "<tr><td>Adresse</td><td><Input type=""Text"" Name=""Adresse"" value=""" & rs("Adresse") & """></td></tr>" Str = str & "<tr><td>Telefon</td><td><Input type=""Text"" Name=""telefon"" value=""" & rs("Telefon") & """></td></tr>" Str = str & "<tr><td>E-mail</td><td><Input type=""Text"" Name=""email"" value=""" & rs("email") & """></td></tr>" Str = str & "<tr><td>CPRnummer</td><td><Input type=""Text"" Name=""CPRnummer"" value=""" & rs("CPRnummer") & """></td></tr>" Str = str & "<tr><td></td><td align=""left""><Input type=""Submit"" Value=""Gem ændringer""></td></tr>" Str = str & "</FORM>" Str = Str & "</table>" else response.write "posten findes ikke i databasen!" End If response.write Str response.Write "<p><a href=""Medarbejderliste.asp"">Retur til Medarbejderlisten</a></p>" Conn.Close Set Conn = Nothing else response.write "fejl i querystring.." end if %> </body> </html>
sådan her i den anden --- <!--#include file ="ConnectionTilDatabase.asp" --> <!--#include file ="kontrol.asp" --> <% SQL = "UPDATE Bruger" SQL = SQL & " SET VærelseID = " & request.form("VærelseID") & ", " SQL = SQL & "Fornavn = '" & request.form("Fornavn") & "', " SQL = SQL & "Efternavn = '" & request.form("Efternavn") & "', " SQL = SQL & "Password = '" & request.form("Password") & "', " SQL = SQL & "Postnr = " & request.form("Postnr") & ", " SQL = SQL & "Adresse = '" & request.form("Adresse") & "', " SQL = SQL & "Telefon = '" & request.form("Telefon") & "', " SQL = SQL & "Email = '" & request.form("Email") & "', " SQL = SQL & "CPRnummer = " & request.form("CPRnummer") & " " SQL = SQL & " WHERE MedlemsID=" & request.form("MedlemsID") 'response.write sql conn.Execute(SQL) conn.close Response.Redirect("Rediger.asp") %>
Der er fejl i den første... den siger..¨ Fejltype: Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0401) Slut på sætning var ventet /Asp opgaver/Retbruger.asp, line 25, column 80 Str = str & "<tr><td>VærelseID</td><td><Input type=""Hidden"" Name=""MedlemsID" value=""" & q & """><Input type=""Text"" Name=""VærelseID"" value=""" & rs("VærelseID") & """></td></tr>"
mangler en gåse øjne Str = str & "<tr><td>VærelseID</td><td><Input type=""Hidden"" Name=""MedlemsID"" value=""" & q & """><Input type=""Text"" Name=""VærelseID"" value=""" & rs("VærelseID") & """></td></tr>"
Kanon nu virker det... RIGTIG MANGE GANGE tak
det var så lidt da :o) .. godt det virker
ja det er lækkert, nu kan jeg skrive mit projekt... tak
Kurser inden for grundlæggende programmering