05. september 2002 - 15:34
Der er
27 kommentarer og 1 løsning
UPDATE CONN.SQL Fejl
Hejsa, Jeg har en fil som skal opdatere min datebase fil. Men jeg får denne fejl. Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement. /update.asp, line 24 Her er min "sovse" code - håber i kan hjælpe mig ! <%@ Language="VBScript"%> <html> <head> <title>Opdatere links.</title> </head> <body> <% 'Declare all local variables dim conn dim rs dim strconn dim strsql 'set connection string to local variable strconn = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("../db/links.mdb") set conn = server.createobject("adodb.connection") conn.open strconn strSQL = "UPDATE Links SET" & "'" & Request.Form("Navn") & "'," & _ "WHERE Id=" & Request.Querystring("id") conn.EXECUTE(strSQL) conn.close set conn = nothing %> <% = "Dit produkt er ændret !" %> <br> <p><a href="EditForm.asp<%=rs("id")%>")">Tilbage</a></p> </body> </html>
Annonceindlæg fra Genetec
05. september 2002 - 15:40
#1
Der mangler et kolonnenavn som Navn skal ind i: strSQL = "UPDATE Links SET MANGLER_NAVN_HER = '" & Request.Form("Navn") & "'," & _ "WHERE Id=" & Request.Querystring("id")
05. september 2002 - 15:45
#2
Hmm, altså sådan her ?? Kolonnenavnet hedder nemlig NAVN : strSQL = "UPDATE Links SET Navn = '" & Request.Form("Navn") & "'," & _ "WHERE Id=" & Request.Querystring("id") Nu får jeg bare en HTTP500 fejl... Ellers mange tak - jeg har bøvlet med det så lang tid. Har søgt på alt hvad jeg kunne finde af ASP sider..
05. september 2002 - 15:47
#3
du skal fjerne det sidste komma også :) strSQL = "UPDATE Links SET Navn = '" & Request.Form("Navn") & "' " & _ "WHERE Id=" & Request.Querystring("id") ;)
05. september 2002 - 15:49
#4
A1 - det hjalp desværre heller ikke...
05. september 2002 - 15:54
#5
det er vel her fejlen er? <p><a href="EditForm.asp<%=rs("id")%>")">Tilbage</a></p> det er fordi at du ikke har åbnet noget recordset, prøv med <p><a href="EditForm.asp<%=Request.Querystring("id") %>")">Tilbage</a></p> ;)
05. september 2002 - 15:54
#6
og kommaet SKAL fjernes :)
05. september 2002 - 15:55
#7
Hvilken fejl får du nu?
05. september 2002 - 15:56
#8
<p><a href="EditForm.asp?id=<%=Request.Querystring("id") %>")">Tilbage</a></p> lige huske ? og id, hvis det skal du når du trykker på linket :)
05. september 2002 - 15:57
#9
Jeg har nu fjernet kommaet ;o) og linien <p><a href="EditForm.asp<%=rs("id")%>")">Tilbage</a></p> Nu kører den så helt fint igennem, MEN den laver intet om i min db ?? Det fatter jeg ikke helt...
05. september 2002 - 15:59
#10
det er da mystisk... er du sikker på at det er det rigtige id der bliver sendt?
05. september 2002 - 16:03
#11
Her er formularen : ../editform.asp?id=22 & Her er update siden: ../update.asp?id=22
05. september 2002 - 16:08
#12
Kan dettet hjælpe jer - jeg er villigt til at gi nogle flere points: Nu vil jeg bare lærer det her crap !!! <%@ Language="VBScript"%> <html> <head> <title>Rediger i linksene...</title> </head> <body> <% dim conn dim rs dim strsql dim strconn strconn = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("../db/links.mdb") set conn = server.createobject("adodb.connection") conn.open strconn set rs = server.createobject("adodb.recordset") strsql = "select * from links WHERE Id=" & Request.Querystring("id") rs.open strsql, conn %> <body> <h3 align="center">Opdatere</h3> <td width="424"><form method="post" name="submit" action="update.asp?id=<%=Request.Querystring("id")%>"> <table> <% Do While Not rs.eof %> <tr> <td>Navn</td><td><input type=text size=30 name=Navn value=<%= rs("navn")%>></td> <td>Link</td><td><input type=text size=35 name=Link value=<%= rs("Link")%>></td> <td>Beskrivelse</td><td><input type=text size=30 name=beskrivelse value=<%= rs("Beskrivelse")%>></td> </tr> <% rs.movenext Loop conn.close Set conn=Nothing Set rs=Nothing %> <tr> <td colspan="2"><input type="Submit" value="Opdatér" name"b1"> </font> </td> </tr> </table></form> </center></div> </body> </html> Dette er formularen. MVH Kaage
05. september 2002 - 16:16
#13
du skal ikke have (men det er ikke fejlen) Do While Not rs.eof der kommer vel kun et link?? istedet kan du fjerne det eller If Not Rs.EOF Then End If
05. september 2002 - 16:24
#14
når du poster din form (action="post") så bruger man normalt et hidden felt til at "gemme" id'et i <input type="hidden" name="id" value="<%=Request("id")%>"> du skal så også ændre i opdaterings siden til Request("id") Request("id") tager først .Querystring så .Form så .Cookies så .ClientCertificates (mener jeg) indtil der bliver fundet noget.... men jeg har selv brugt det på den måde før... og du får ingen fejl (så den må "finde" id'et i querystringen) hvordan ser din url ud (bare det sidste)
05. september 2002 - 16:48
#15
05. september 2002 - 16:49
#16
btw... du skal også huske " om dine values (også type="text" og name="navn", bare for en god ordens skyld) <input type=text size=30 name=Navn value="<%= rs("navn")%>"> hvis navn fx. er i to ord så vil kun det første blive sendt med som value..
05. september 2002 - 16:55
#17
OK, det er hermed gjort - men den opdatere stadig ikke.. Vil du se filerne igen - med deres nuværende status ? Og vupti - de første points til dig..;o)
05. september 2002 - 16:57
#18
urlen ser fin ud......
05. september 2002 - 16:58
#19
ja... kan/vil du evt. lægge det ud på nettet (zippet med database) så jeg kan se det hele?? :)
05. september 2002 - 16:59
#20
joo, kan jeg ikke sende det til dig i stedet ??
05. september 2002 - 17:04
#22
jo, men jeg er bare ikke meget for at skrive min email på nettet da jeg kan se at meget af det spam jeg får er noget der kun står i kildekoder osv...:( skriv din og jeg sender min til dig :o)
05. september 2002 - 17:08
#23
Aha, det kender jeg alt for godt - kan du ikke bare hente den på nettet så ??
05. september 2002 - 17:10
#24
på editform.asp <input type="text" size="30" name="Navn" value=<%= rs("Navn")%>> HUSK " fiduserne <input type="text" size="30" name="Navn" value="<%= rs("Navn")%>"> og hvis du fjerner "udkommenteringen" fra linie 20 og 23 så virker det (' fiduserne) grunden til at det ikke duede var at den kun viser/sender det første <input type="text" size="30" name="Navn" value=detherdur men ikke mere af det>
05. september 2002 - 17:14
#25
YES BABY ! Det virker.. Nu skal jeg så bare ha' de andre felter med.. Øvv, hvordan gør jeg det.. På forhånd tusind tak..
05. september 2002 - 17:17
#26
strSQL = "UPDATE Links SET Navn = '" & Request.Form("Navn") & "', Link='" & Request.Form("Link") & "', Beskrivelse='" & Request.Form("Beskrivelse") & "' " & _ "WHERE Id=" & Request.Querystring("id") og husk dine value's på editformen <td>Link</td><td><input type="text" size="35" name="Link" value="<%= rs("Link")%>"></td> <td>Beskrivelse</td><td><input type="text" size="30" name="Beskrivelse" value="<%= rs("Beskrivelse")%>"></td> ;)
05. september 2002 - 17:30
#27
Det er fantastisk - det virker - tusind tak for det.. Hvad vil du ha' for det ?? ;o)
05. september 2002 - 17:43
#28
de 30 jeg har fået er fino, jeg håber at du har lært lidt af det....:)
Kurser inden for grundlæggende programmering