Avatar billede madeindk Nybegynder
18. oktober 2006 - 14:51 Der er 19 kommentarer og
2 løsninger

Problemer med SQL sætning

Hej eksperter! Hvorfor i alverden virker denne lille update ikke?

SQL = "UPDATE guestbook SET read = '1' WHERE id=" & clng(rs("id"))
Avatar billede kabbak Professor
18. oktober 2006 - 14:56 #1
read er det ikke er reseveret ord, så er det ikke godt til et feltnavn
Avatar billede madeindk Nybegynder
18. oktober 2006 - 14:58 #2
Hmm - det ved jeg ikke, jeg kan prøve at omdøbe feltet.

2 min...
Avatar billede softspot Forsker
18. oktober 2006 - 14:58 #3
du kan også bare omstille det med []
Avatar billede madeindk Nybegynder
18. oktober 2006 - 14:59 #4
Så virkede det, omdøbte bare mit feltnavn til 'messageRead' :-)

Smid et svar, kabbak - tak for hjælpen. Fortsat god dag.
Avatar billede softspot Forsker
18. oktober 2006 - 14:59 #5
Det kan også være at rs("id") er null - så vil sætningen dog komme med en fejl... gør den det?
Avatar billede madeindk Nybegynder
18. oktober 2006 - 15:00 #6
rs("id") er ikke null :-)

Du må også gerne smide et svar, brugte nemlig [read] - kom i tanke om det med []
Avatar billede kabbak Professor
18. oktober 2006 - 15:01 #7
et svar ;-))
Avatar billede softspot Forsker
18. oktober 2006 - 15:07 #8
Bare giv point til kabbak - det er helt fint med mig - tak for budet :)
Avatar billede madeindk Nybegynder
18. oktober 2006 - 15:08 #9
softspot -> Har du nogen anelse om hvorfor denne her så ikke virker?

ReadGuestsbookSQL = "SELECT COUNT(ID) AS readGuestbook FROM guestbook WHERE [read]='0' AND userId=" & id
Avatar billede softspot Forsker
18. oktober 2006 - 15:20 #10
Kommer der nogen fejlmeddelelse når du førsøger at udføre sætningen (husk at slå evt. "on error resume next"-fejlskjuler fra)...?
Avatar billede madeindk Nybegynder
18. oktober 2006 - 15:21 #11
Den siger bare:

[MySQL][ODBC 3.51 Driver][mysqld-4.1.16-nt]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 '[read]='0' AND userId=1' at line 1
Avatar billede madeindk Nybegynder
18. oktober 2006 - 15:23 #12
Begge er talfelt.
Avatar billede softspot Forsker
18. oktober 2006 - 15:26 #13
Så prøv dette i stedet:

ReadGuestsbookSQL = "SELECT COUNT(ID) AS readGuestbook FROM guestbook WHERE [read]=0 AND userId=" & id
Avatar billede madeindk Nybegynder
18. oktober 2006 - 15:28 #14
Så får jeg bare denne her:

[MySQL][ODBC 3.51 Driver][mysqld-4.1.16-nt]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 '[read]=0 AND userId=1' at line 1

Noget der ligner den anden fejl meget, kan man godt sige ;-)
Avatar billede softspot Forsker
18. oktober 2006 - 15:34 #15
Spørgsmålet er om [] rent faktisk er tilladt i MySQL (jeg antog bare at det var Access da jeg svarede første gang). Noget kunne i det mindste tyde på at det ikke er tilladt (eller at felterne ikke er defineret som talfelter i databasen - hvilke typer er felterne i databasen?). Det kan da godt være du alligevel er nød til at ændre feltnavnet fra read til noget andet. Alternativt så prøv lige ´read´ i stedet for [read]...
Avatar billede madeindk Nybegynder
18. oktober 2006 - 15:37 #16
Både userId og read er talfelt. Jeg prøver lige ´read´
Avatar billede madeindk Nybegynder
18. oktober 2006 - 15:39 #17
Nu virker det. Jeg omdøbte feltet igen igen :-)

Smid et svar softspot.
Avatar billede softspot Forsker
18. oktober 2006 - 15:40 #18
OK, hvis du insisterer :)
Avatar billede softspot Forsker
18. oktober 2006 - 15:41 #19
...så kommer det her :D
Avatar billede madeindk Nybegynder
18. oktober 2006 - 15:44 #20
Hehe, tak for hjælpen drenge :-)
Avatar billede softspot Forsker
18. oktober 2006 - 15:45 #21
Tak for point :)
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