WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   asp databaskoppling (https://www.wn.se/forum/showthread.php?t=35060)

jake 2009-02-10 21:22

Får följande felmeddelande när man ska ladda upp bild på en sida.

Microsoft JET Database Engine error '80040e14'

Syntax error in UPDATE statement.

/Default.asp, line 1571




och i default.asp line 1567-1571 ser ut som följer:

call Opendb(objcon)
Sql = "update [USER] set accepterad = 0, Bild='"& Savename &"' where id="& session("user")
objcon.Execute(SQL)

Sqld = "update [gallerie] set accepterad = 0, image='"& Savename &"' where uid="& session("user")
objcon.Execute(SQLd)


Jag har naturligtvis sökt på felmeddelandet som t.ex. verkar kunna bero på:

You either used a reserved word as a column or alias name (or used a column name that begins with a number or non-alphanumeric character), didn't delimit a value properly, or really have a syntax error.

Men jag kan inte se att jag använt några reserverade namn i tabellkolumnerna.

Någon som har något annat förslag vad som kan vara fel?

Jan Eriksson 2009-02-10 21:43

Du använder id och sen i den andra uid. Samma med Bild och sen image. Är det rätt?

Markera bort objcon.Execute(SQLd) och kör response.write(SQLd) så ser du hur update-satsen ser ut. Tex om session("user") råkar vara tom.

User är reserverad i Access men med klammer borde det väl fungera? Kommer inte ihåg hur Access gör med detta. Här är dock en lista på alla reserverade ord. http://support.microsoft.com/kb/286335

kw_wasabi 2009-02-11 02:07

Jag fick också syntax error för ett tag sedan. Om jag inte minns fel berodde det på att jag använde ett reserverat ord. Testa att använda något annat istället för "user" och "image". Eftersom det är fel på rad 1571 så borde felet ligga på raden ovanför med SQL-satsen.

(När jag fick samma fel var det ordet "text" jag använt som kolumn/fält-namn i db:n)

Jonas 2009-02-11 02:21

Skriv alltid " ` " runt databas, tabell, fältnamn så slipper du detta.

Tex:

UPDATE `users`SET `username`=NULL, `password`=NULL, `age`=87 WHERE `userID`=43


Alla tider är GMT +2. Klockan är nu 12:54.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson