Avatar billede kaage Nybegynder
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>
Avatar billede eagleeye Praktikant
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")
Avatar billede kaage Nybegynder
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..
Avatar billede a1a1 Novice
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")

;)
Avatar billede kaage Nybegynder
05. september 2002 - 15:49 #4
A1 - det hjalp desværre heller ikke...
Avatar billede a1a1 Novice
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>

;)
Avatar billede a1a1 Novice
05. september 2002 - 15:54 #6
og kommaet SKAL fjernes :)
Avatar billede eagleeye Praktikant
05. september 2002 - 15:55 #7
Hvilken fejl får du nu?
Avatar billede a1a1 Novice
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 :)
Avatar billede kaage Nybegynder
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...
Avatar billede a1a1 Novice
05. september 2002 - 15:59 #10
det er da mystisk...

er du sikker på at det er det rigtige id der bliver sendt?
Avatar billede kaage Nybegynder
05. september 2002 - 16:03 #11
Her er formularen : ../editform.asp?id=22
&
Her er update siden: ../update.asp?id=22
Avatar billede kaage Nybegynder
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
Avatar billede a1a1 Novice
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
Avatar billede a1a1 Novice
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)
Avatar billede kaage Nybegynder
05. september 2002 - 16:48 #15
Avatar billede a1a1 Novice
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..
Avatar billede kaage Nybegynder
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)
Avatar billede a1a1 Novice
05. september 2002 - 16:57 #18
urlen ser fin ud......
Avatar billede a1a1 Novice
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?? :)
Avatar billede kaage Nybegynder
05. september 2002 - 16:59 #20
joo, kan jeg ikke sende det til dig i stedet ??
Avatar billede kaage Nybegynder
05. september 2002 - 17:03 #21
ellers kan du hente det her : www.lota.dk/upload/sendes.zip
Avatar billede a1a1 Novice
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)
Avatar billede kaage Nybegynder
05. september 2002 - 17:08 #23
Aha, det kender jeg alt for godt - kan du ikke bare hente den på nettet så ??
Avatar billede a1a1 Novice
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>
Avatar billede kaage Nybegynder
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..
Avatar billede a1a1 Novice
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>


;)
Avatar billede kaage Nybegynder
05. september 2002 - 17:30 #27
Det er fantastisk - det virker - tusind tak for det.. Hvad vil du ha' for det ?? ;o)
Avatar billede a1a1 Novice
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....:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester