snälla, skriv ut sql-frågan med response.write.
det där är bara kladd och säger väldigt lite om hur frågan som ställs till databasen ser ut.
29 svar · 390 visningar · startad av RDL
sqlString = "UPDATE Produkter SET " &_
"Namn='" & fixQuotes( Namn ) & "'," &_
"kostnad=" & fixQuotes( kostnad ) & "," &_
"Bild='" & fixQuotes( Bild ) & "'," &_
"kategori='" & fixQuotes( kategori ) & "'," &_
"kort_beskrivning='" & fixQuotes( kort_beskrivning ) & "'," &_
"Stor_beskrivning='" & fixQuotes( Stor_beskrivning ) & "'," &_
"Status=" & Status & " WHERE " &_
"id=" & id Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement.
Kan någon rätta mig??
snälla, skriv ut sql-frågan med response.write.
det där är bara kladd och säger väldigt lite om hur frågan som ställs till databasen ser ut.
sqlString = "UPDATE Produkter SET Namn='" & fixQuotes( Namn ) & "',kostnad=" & fixQuotes( kostnad ) & ", "Bild='" & fixQuotes( Bild ) & "', "kategori='" & fixQuotes( kategori ) & "', "kort_beskrivning='" & fixQuotes( kort_beskrivning ) & "', "Stor_beskrivning='" & fixQuotes( Stor_beskrivning ) & "', Status=" & Status & " WHERE id=" & id
hm.. nu fick jag meddelandet: Expected end of statement
[Redigerat av RDL den 19 jul 2001]
med response.write.
jag kan bara gissa att du kanske använt något fältnamn som är reserverat av access, till exempel status.
prova att klamra fältnamnen i frågan.
mvh,
ändrade till veri.. funkar fortfarande inte..
Är alla de variabler du använder definierade? Om kostnad, till exempel, är odefinerad så skulle det kunna leda till det fel som du får.
Yes.. Allt är definierat.
Kolla på " före Bild, kategori, kort_beskrivning, stor bekskrivning. de ska inte vara där..
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement.
hm.. ser inget syntax error.. gör du?
FUNCTION fixQuotes( theString )
fixQuotes = REPLACE( theString, "'", "''" )
END FUNCTION
hm.. borde inte vara fel på den eller?
hm.. bifogar hela koden:
<%
Dim Namn, Kostnad, Bild, Kategori, kort_beskrivning, Stor_beskrivning, Veri, error, fel(6), rakna, SQL, q
Namn = Request.Form("Namn")
Kostnad = Request.Form("Kostnad")
Bild = Request.Form("Bild")
Kategori = Request.Form("Kategori")
kort_beskrivning = Request.Form("kort_beskrivning")
Stor_beskrivning = Request.Form("Stor_beskrivning")
Status = Request.Form("Status")
q = Request.form("q")
With Response
.Write "<html>"
.Write "<head>"
.Write "<Style>"
.Write "<!--"
.Write ".face {font-family:Tahoma,Verdana; font-size:12px;color:#ffffff;}"
.Write ".dot {color:#ffffff;}"
.Write "-->"
.Write "</style>"
.Write "</head>"
.Write ""
.Write "<body bgcolor=""#666666"">"
.Write "<center>"
.Write "<table width=""600"" border=""1"" bordercolor=""#000000"" cellpadding=""4"" cellspacing=""0"">"
.write "<tr>"
.write "<td>"
.Write "<br>"
.Write "<br>"
.Write "<a class=""face"" href=""javascript:self.history.go(-1)"">Tillbaka</a>"
.Write "</ul>"
.write "</td>"
.write "</tr>"
.Write "</table>"
.Write "</center>"
.Write "</body>"
.Write "</html>"
End With
FUNCTION fixQuotes( theString )
fixQuotes = REPLACE( theString, "'", "''" )
END FUNCTION
Set con = Server.Createobject("ADODB.Connection")
Con.open "DSN"
sqlString = "UPDATE Produkter SET Namn='" & fixQuotes( Namn ) & "',kostnad=" & fixQuotes( kostnad ) & ", Bild='" & fixQuotes( Bild ) & "', kategori='" & fixQuotes( kategori ) & "', kort_beskrivning='" & fixQuotes( kort_beskrivning ) & "', Stor_beskrivning='" & fixQuotes( Stor_beskrivning ) & "', Veri=" & Status & " WHERE id=" & id
'sqlString = "UPDATE Produkter SET " &_
' "Namn='" & fixQuotes( Namn ) & "'," &_
' "kostnad=" & fixQuotes( kostnad ) & "," &_
' "Bild='" & fixQuotes( Bild ) & "'," &_
' "kategori='" & fixQuotes( kategori ) & "'," &_
' "kort_beskrivning='" & fixQuotes( kort_beskrivning ) & "'," &_
' "Stor_beskrivning='" & fixQuotes( Stor_beskrivning ) & "'," &_
' "Status=" & Status & " WHERE " &_
' "id=" & id
Con.Execute sqlString
With Response
'.write "<font class=""face"">Produkten " & Namn & " har laggts till</font>"
'.write "<br>"
'.write "<a href=""lagg_till_produkt.asp"" class=""face"">Tillbaka</a>"
.write "</td>"
.write "</tr>"
.Write "</table>"
.Write "</center>"
.Write "</body>"
.Write "</html>"
End With
%>
är det så bra att köra funktioner i SQL-sats ??
hm.. testar utan..
fick fortfarande syntax error fel.. ändrade till:
sqlString = "UPDATE Produkter SET Namn='" & Namn & "',kostnad=" & kostnad & ", Bild='" & Bild & "', kategori='" & kategori & "', kort_beskrivning='" & kort_beskrivning & "', Stor_beskrivning='" & Stor_beskrivning & "', Veri=" & Status & " WHERE id=" & id
Nån som har någon ide.. börjar bli rätt irriterande..
I den kod som du visade så tilldelas variabeln id aldrig något värde.
Ett bra sätt för dig att hjälpa oss att hjälpa dig är att du lägger in
[b]response.write sqlString [/b]
Con.Execute sqlString
och sedan postar resultatet av den utskriften här.
UPDATE Produkter SET Namn='',kostnad=, Bild='', kategori='', kort_beskrivning='', Stor_beskrivning='', Veri= WHERE id=
snälla, skriv ut sql-frågan med response.write.
sqlString = "UPDATE Produkter SET Namn='" & fixQuotes( Namn ) & "',kostnad=" & fixQuotes( kostnad ) & ", Bild='" & fixQuotes( Bild ) & "', kategori='" & fixQuotes( kategori ) & "', kort_beskrivning='" & fixQuotes( kort_beskrivning ) & "', Stor_beskrivning='" & fixQuotes( Stor_beskrivning ) & "', Veri=" & Status & " WHERE id=" & id
Response.Write sqlString
och sen postar du den
*ler*