22. februar 2006 - 16:54
Der er
22 kommentarer og 1 løsning
Opdatering af profiler
Jeg kan ikke få nedenstående til at virke, skal kun opdatere ud fra denne: strSQL = strSQL & " WHERE ID = " & Request.Querystring('ID'). Nogle som kan se fejlen?? strSQL = "Update Brodre SET " strSQL = strSQL & "brugernavn = '" & request.form("brugernavn")& "'" strSQL = strSQL & ", password= '" & request.form("password")& "'" strSQL = strSQL & ", Email= '" & request.form("Email")& "'" strSQL = strSQL & ", Fornavn= '" & request.form("Fornavn")& "'" strSQL = strSQL & ", Efternavn= '" & request.form("Efternavn")& "'" strSQL = strSQL & ", Adresse= '" & request.form("Adresse")& "'" strSQL = strSQL & ", Nr= '" & request.form("Nr")& "'" strSQL = strSQL & ", Postnr= '" & request.form("Postnr")& "'" strSQL = strSQL & ", Bynavn= '" & request.form("Bynavn")& "'" strSQL = strSQL & ", Fastnet= '" & request.form("Fastnet")& "'" strSQL = strSQL & ", Mobil= '" & request.form("Mobil")& "'" strSQL = strSQL & ", Godkendt= '" & request.form("Godkendt")& "'" strSQL = strSQL & " WHERE ID = " & Request.Querystring('ID') ' SQL sætning eksekveres Conn.Execute(strSQL) ' Luk databaseforbindelse Conn.Close Set Conn = Nothing %>
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
22. februar 2006 - 17:31
#1
Et hurtigt bud er at "password" er et reserveret ord i Access (for det er da Access vi snakker om?), og at du derfor skal ændre: strSQL = strSQL & ", password= '" & request.form("password") & "'" - til: strSQL = strSQL & ", [password]= '" & request.form("password") & "'" Hvis ikke det hjælper, så må du meget gerne beskrive hvad der går galt. Fejlkoder og den slags...
22. februar 2006 - 17:37
#2
Det er MySql, har ikke adgang til access. Dette er fejlteksten: Error Type: ADODB.Connection.1 (0x80004005) SQLState: 4 Native Error Code: 1064 [TCX][MyODBC]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'Where ID = ''' at line 1 /login/admin/ret_bror2.asp, line 37
22. februar 2006 - 17:40
#3
Fejlbeskeden tyder på at din Request.Querystring('ID') ikke har en værdi. Prøv at udskrive SQL-strengen før du udføre den: strSQL = strSQL & " WHERE ID = " & Request.Querystring('ID') Response.Write "DEBUG: " & strSQL & "<br>" Conn.Execute(strSQL) - og tjek så om det ikke er tilfældet.
22. februar 2006 - 17:45
#4
Fejlen ser nu sådan ud: Error Type: Sun ONE ASP VBScript compilation (0x800A03EA) Syntax error, unexpected "new line" /login/admin/ret_bror2.asp, line 22, column 61 Filen ser nu sådan ud: <% Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=mydb3.surf-town.net;DATABASE=xxxxx_brodre;UID=xxxxx_xxxx;PWD=xxxxxx;" strSQL = "Update Brodre SET " strSQL = strSQL & " WHERE ID = " & Request.Querystring('ID') Response.Write "DEBUG: " & strSQL & "<br>" Conn.Execute(strSQL) Conn.Close Set Conn = Nothing %>
22. februar 2006 - 17:49
#5
Denne linje: Conn.Open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=mydb3.surf-town.net;DATABASE=xxxxx_brodre;UID=xxxxx_xxxx;PWD=xxxxxx;" - skal være ud i ét - den må ikke være brudt over 2 linjer.
22. februar 2006 - 17:53
#6
Det er også kun her på E at vises på 2 linier, har lavet andre sider som sletter og opretter mine brugere fint nok, men opdateringen går bare i fisk...
22. februar 2006 - 17:59
#7
Den forrige side ser således ud: strSQL = "Select * From Brodre Where ID = " & Request.Querystring("ID") Set rs = Conn.Execute(strSQL) If RS.EOF Then Response.Write "Der var ingen brodre i databasen" Else Do While NOT RS.EOF %> <form action="ret_bror2.asp" method="post"> <table> <tr> <td width="90px">Fornavn:</td> <td width="165px"><input type="text" name="Fornavn" value="<%=RS("Fornavn")%>"><font color="#FF6600"> *</font></td> <td>Efternavn:</td> <td><input type="text" name="Efternavn" value="<%=RS("Efternavn")%>"><font color="#FF6600"> *</font></td> </tr> <tr> <td width="90px">Brugernavn:</td> <td width="165px"><input type="text" name="brugernavn" value="<%=RS("brugernavn")%>"><font color="#FF6600"> *</font></td> <td>Password:</td> <td><input type="text" name="password" value="<%=RS("password")%>"><font color="#FF6600"> *</font></td> </tr> <tr> <td width="90px">Email:</td> <td width="165px"><input type="text" name="Email" value="<%=RS("Email")%>"><font color="#FF6600"> *</font></td> <td>Godkendt:</td> <td><select size=1 name="Godkendt" class=box1> <option value="<%=RS("Godkendt")%>"><%=RS("Godkendt")%></option> <option value="Ja">Ret til -> Ja </option> <option value="Nej">Ret til -> Nej </option> </select><font color="#FF6600"> *</font></td> </tr> <tr> <td></td> <td><input type="submit" value="Ret bror" onClick="return confirm('Er du sikker på at du vil rette denne bror?'); history.go()"></td> </tr> <tr> <td colspan="2"><br><font size="2px"><i>Felter med <font color="#FF6600">*</font> <u>skal</u> være udfyldt</i></td></font> </tr> </table> </form> <% RS.MoveNext Loop End If Conn.Close Set Conn = Nothing %>
22. februar 2006 - 18:08
#8
1) Fejlen du beskriver i 22/02-2006 17:45:43 skyldes at der er et eller andet5 galt med din linje 22. Uden at vide hvordan den ser ud, kan jeg ikke sige noget nærmere. 2) Din form overføre ikke værdien af ID til den næste side når du submitter den. Normalt ville man sikre dette ved at tilføje et hidden-felt i formen: <input type="hidden" name="id" value="<%=Request.Querystring("ID")%>"> 3) Da din form submitter med method="post", skal id hentes via Request.Form() i stedet for Request.QueryString(): strSQL = strSQL & " WHERE ID = " & Request.Querystring('ID') - skal altså rettes til: strSQL = strSQL & " WHERE ID = " & Request.Form('ID')
22. februar 2006 - 18:16
#9
Ahh... så langt så godt, jeg mangler nu kun at få rettet denne da den stadig er indeholder fejl: strSQL = strSQL & " WHERE ID = " & Request.form('ID') & "', "
22. februar 2006 - 18:21
#10
Er dit ID da ikke et tal siden at du sætter '-tegn rundt om det? Bortset fra det, så er fejlen nok det komma du har fået for meget med i enden: strSQL = strSQL & " WHERE ID = " & Request.form('ID') & "'"
22. februar 2006 - 18:22
#11
Hmm, mon ikke det sidste led skal helt væk: strSQL = strSQL & " WHERE ID = " & Request.form('ID')
22. februar 2006 - 18:25
#12
har jeg prøvet, men så får jeg bare denne fejl og line 34 er: strSQL = strSQL & " WHERE ID = " & Request.form('ID'): Syntax error, unexpected "new line" /login/admin/ret_bror2.asp, line 34, column 54
22. februar 2006 - 18:27
#13
Har du det der :-tegn i enden af din linje?
22. februar 2006 - 18:30
#14
nope, ser bare sådan her ud: strSQL = strSQL & " WHERE ID = " & Request.form('ID') har også prøvet med: strSQL = strSQL & " WHERE ID = " & Request.form('ID') & "
22. februar 2006 - 18:31
#15
Ja, den sidste bør absolut give en fejl. Du bliver nok nødt til at poste noget mere af din kode, hvis jeg skal kunne finde fejlen for dig. :^)
22. februar 2006 - 18:33
#16
<% ' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=mydb3.surf-town.net;DATABASE=xxxx_brodre;UID=xxxx_xxxx;PWD=xxxxxx;" strSQL = "Update Brodre SET " strSQL = strSQL & "brugernavn= '" & request.form("brugernavn") & "', " strSQL = strSQL & "password= '" & request.form("password") & "', " strSQL = strSQL & "Email= '" & request.form("Email") & "', " strSQL = strSQL & "Fornavn= '" & request.form("Fornavn") & "', " strSQL = strSQL & "Efternavn= '" & request.form("Efternavn") & "', " strSQL = strSQL & "Adresse= '" & request.form("Adresse") & "', " strSQL = strSQL & "Nr= '" & request.form("Nr") & "', " strSQL = strSQL & "Postnr= '" & request.form("Postnr") & "', " strSQL = strSQL & "Bynavn= '" & request.form("Bynavn") & "', " strSQL = strSQL & "Fastnet= '" & request.form("Fastnet") & "', " strSQL = strSQL & "Mobil= '" & request.form("Mobil") & "', " strSQL = strSQL & "Godkendt= '" & request.form("Godkendt") & "', " strSQL = strSQL & " WHERE ID = " & Request.form('ID') Conn.Execute(strSQL) Conn.Close Set Conn = Nothing %> </div> </div> </body> </html>
22. februar 2006 - 18:40
#17
1) Der er ingen ASP fejl i den kode. Derfor må det være noget længere oppe (eller nede). Jeg kan heller ikke få det til at stemme med at den brokker sig over linje 34 (ergo må der være noget mere). 2) Selv om der ille er no9gen ASP-fejl, så var der faktisk en SQL-fejl. Du skal rette: strSQL = strSQL & "Godkendt= '" & request.form("Godkendt") & "', " - til: strSQL = strSQL & "Godkendt= '" & request.form("Godkendt") & "' "
22. februar 2006 - 18:41
#18
Stavefejl er gratis :^|
22. februar 2006 - 18:48
#19
Er rettet nu, men virker stadig ikke, jeg er helt blank... :o( Men tak for det andet, nu er jeg da lidt tættere ;O)
22. februar 2006 - 18:51
#20
Prøv forresten lige at ændre: strSQL = strSQL & " WHERE ID = " & Request.form('ID') - til: strSQL = strSQL & " WHERE ID = " & Request.form("ID")
22. februar 2006 - 18:56
#21
Jeg kan se at det var mig selv som fik indført den fejl (i 22/02-2006 18:08:43). Det må du undskylde. :^|
22. februar 2006 - 19:01
#22
Hehe... synes jeg havde prøvet det også, men virker skidtet sgu, mange tak ;O) smider du ikke lige et svar?
22. februar 2006 - 20:33
#23
S'gerne :^)
Kurser inden for grundlæggende programmering