24. februar 2006 - 15:03Der er
21 kommentarer og 1 løsning
MySQL - vil ikke oprette ny record
Hej eksperter!
Nogen der kan se hvorfor denne her streng ikke virker?
SQL = "INSERT guestbook INTO userId = ' & userId & ' AND message = & message & AND afsender_Id = afsenderId & AND date = & DanskDato(Now) & AND dateAndTime = & DanskDatoTid(Now) "
objConn.Execute(SQL)
Den siger sådan 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 'INTO userId = ' & userId & ' AND message = & message & AND afsender_Id = afsende' at line 1
MySQL köber den syntax du bruger der, men det er også den eneste database. Vän dig til at bruge den rigtige syntax: INSERT INTO tabelnavn (felt1, felt2,...) VALUES(value1, value2,...)
Visse ord er reserverede af de forskellige databaser fordi de bruger dem til forespörgelser (insert, like, date osv). Hvis du så bruger dem til dine tabelnavne kan databasen ikke vide hvad der er navne og hvad den skal bruge for at få din data frem.
& _ bruges i VBS som linecontinuation, altså fortsættelse af et statement på næste linie. Hvis du fjerner _ fra koden kan du også fjerne " & " mellem ) og VALUES (med husk at efterlade et mellemrum :)). Altså:
Selv i Access er der reserverede ord, der kan man dog omstille kolonnenavnet med [] og dermed få lov til at bruge dem. Det er dog traditionelt ikke "god tone" at bruge reserverede ord som kolonnenavne, men det er vel en smagssag.
24/02-2006 15:20:42 > Ja, det er også kun når du bruger SQL som du vi lige har flikket sammen til at forespørge, at det er et problem. Den notation du bruger der er fordi objektet håndterer det for dig.
Synes godt om
Ny brugerNybegynder
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.