Avatar billede martin86 Nybegynder
16. april 2005 - 10:46 Der er 13 kommentarer og
1 løsning

Syntax error in INSERT INTO statement

Hej eksperter..

Når jeg prøver på at gemme en post i min Access database, får jeg flg. fejl melding:

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.
/community/mailsystem/default.asp, line 31

-------------------------------------------------
Og scriptet er her:

rec = Replace(Trim(Request.form("rec")), "'", "''")
sen = Replace(Trim(Request.form("sen")), "'", "''")
topic = Replace(Trim(Request.form("topic")), "'", "''")
dato = Replace(Trim(Request.form("date")), "'", "''")
text = Replace(Trim(Request.form("text")), "'", "''")
status = Replace(Trim(Request.form("status")), "'", "''")

SQLsm = "Insert Into Mails (rec, sen, topic, date, text, status) Values('"&rec&"', '"&sen&"', '"&topic&"', '"&dato&"', '"&text&"', '"&status&"')"
 
Conn.Execute(SQLsm)

Response.Redirect "?profil_id="&sen&""

-------------------------------------------------------------

Hvad har jeg gjort forkert?
Avatar billede kalp Novice
16. april 2005 - 11:01 #1
rec = Replace(Trim(Request.form("rec")), "'", "''")
sen = Replace(Trim(Request.form("sen")), "'", "''")
topic = Replace(Trim(Request.form("topic")), "'", "''")
dato = Replace(Trim(Request.form("date")), "'", "''")
text = Replace(Trim(Request.form("text")), "'", "''")
status = Replace(Trim(Request.form("status")), "'", "''")

hvad er det for nogle datatyper i databasen?
Avatar billede martin86 Nybegynder
16. april 2005 - 11:05 #2
TAL  - rec = Replace(Trim(Request.form("rec")), "'", "''")
TAL  - sen = Replace(Trim(Request.form("sen")), "'", "''")
TEKST - topic = Replace(Trim(Request.form("topic")), "'", "''")
TEKST - dato = Replace(Trim(Request.form("date")), "'", "''")
NOTAT - text = Replace(Trim(Request.form("text")), "'", "''")
TAL  - status = Replace(Trim(Request.form("status")), "'", "''")
Avatar billede kalp Novice
16. april 2005 - 11:07 #3
SQLsm = "Insert Into Mails (rec, sen, topic, date, text, status) Values("&rec&", "&sen&", '"&topic&"',#'"&dato&"'#, '"&text&"', "&status&")"


prøv den
Avatar billede martin86 Nybegynder
16. april 2005 - 11:10 #4
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.
/community/mailsystem/default.asp, line 39

Stadig det samme ...

Jeg ved ikke om det har nogen indvirkning, men jeg kører sitet via IIS (localhost)
Avatar billede kalp Novice
16. april 2005 - 11:11 #5
muligvis.. her fandt jeg lidt om fejlen beskrevet hos microsoft. eller i hvertfald fejlkoden

http://support.microsoft.com/default.aspx?scid=kb;en-us;889500
http://support.microsoft.com/default.aspx?scid=kb;EN-US;841216
Avatar billede cpufan Juniormester
16. april 2005 - 11:14 #6
SQLsm = "Insert Into Mails (rec, sen, topic, date, text, status) Values("&rec&", "&sen&", '"&topic&"',#"&dato&"#, '"&text&"', "&status&")"
Avatar billede ranglen Nybegynder
16. april 2005 - 11:15 #7
syntax-fejlen skyldes du benytter reserverede ord (date og text) til dine felter. Omdøb felterne eller brug [] :

Insert Into Mails (rec, sen, topic, [date], [text], status)
Avatar billede kalp Novice
16. april 2005 - 11:16 #8
"Hvornår lære jeg at huske at kigge efter det"
Avatar billede cpufan Juniormester
16. april 2005 - 11:17 #9
SQLsm = "Insert Into Mails ([rec], [sen], [topic], [date], [text], [status]) Values("&rec&", "&sen&", '"&topic&"','"&dato&"', '"&text&"', "&status&")"

denne virker, date er et reserveret ord derfor klammer omkring
og da flere af de andre og kunne være reserverede, har jeg klammet alle.....
Avatar billede sitemaster Nybegynder
16. april 2005 - 11:17 #10
hvad svar giver en response.write SQLsm dig ?
Avatar billede cpufan Juniormester
16. april 2005 - 11:18 #11
nå too late, sad og fedtede med klammer ;-)
Avatar billede martin86 Nybegynder
16. april 2005 - 11:27 #12
Det løste problemet, jeg ændrede navnene så det ikke sker igen :)

Men jeg løb jo ind i et andet problem:
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression '16 April 2005 kl 11:25'.
/community/mailsystem/default.asp, line 39

----------------------------------------------------------------------------------
og sådan ser dato scriptet ud:

maaneder = Array(,"Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December")
DanskDato = Day(Date)&" "&maaneder(Month(Date))&" "&Year(Date)&" kl "&Split(Time,":")(0)&":"&Split(Time,":")(1)
Avatar billede martin86 Nybegynder
16. april 2005 - 11:30 #13
og Ranglen lav lige et svar ....
Avatar billede ranglen Nybegynder
17. april 2005 - 00:50 #14
ok
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