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
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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