Avatar billede caroc Praktikant
03. juli 2003 - 16:27 Der er 5 kommentarer og
4 løsninger

Syntax error (missing operator) in query expression

Jeg får ovenstående fejl - når jeg prøver at skrive til min db. Tror det er min SQL den er gal med så poster lige den:

strSQL = "Insert into Nyheder ("

strSQL = strSQL & "Forfatter, "
strSQL = strSQL & "Overskrift, "
strSQL = strSQL & "Email, "
strSQL = strSQL & "Dato, "
strSQL = strSQL & "Kl, "
strSQL = strSQL & "Indhold) "

strSQL = strSQL & "values( "

strSQL = strSQL & "'" & Request.Form("1") & "', "
strSQL = strSQL & "'" & Request.Form("2") & "', "
strSQL = strSQL & "'" & Request.Form("3") & "', "
strSQL = strSQL & "date(), "
strSQL = strSQL & "time(), "
strSQL = strSQL & "'" & Request.Form("toSend") & "')"

Conn.Execute(strSQL)

det mærkelige er at det virker når jeg bare ikke skriver for mange ord i formen toSend som ska skrives til "Indhold" - selvom indhold er sat som memo i access..

Hva ska jeg gøre?
Avatar billede caroc Praktikant
03. juli 2003 - 16:29 #1
den fulde fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression ''Det er nu muligt som adminstrator at se HBK's interne adressekartotek.')'.

/hbk2/www/admin/editor_gem.asp, line 115
Avatar billede opperen Nybegynder
03. juli 2003 - 16:37 #2
Problemet er at du forsøger at indsætte en ' (HBK's) og det afslutter strengen i sql sætningen. For at indsætte det skal du escape enkelt quotes (').
Avatar billede opperen Nybegynder
03. juli 2003 - 16:38 #3
Jeg mener det virker hvis du laver en replace på ' med ''.
Avatar billede opperen Nybegynder
03. juli 2003 - 16:39 #4
altså to enkelt quotes efter hinanden (ikke double quote)
Avatar billede opperen Nybegynder
03. juli 2003 - 16:39 #5
Du er i princippet nødt til at gøre det med alle de strenge der kommer fra Request.Form
Avatar billede caroc Praktikant
03. juli 2003 - 17:29 #6
ok det prøver jeg.. melder tilbage om en halv time cirka
Avatar billede Jman Praktikant
03. juli 2003 - 17:44 #7
replace tsSend jvfr. opperens udsagn:

indhold = Request.Form("toSend")
indhold = Replace("indhold","'","''")

og så skal din value selv. ændres
Avatar billede hossein Nybegynder
03. juli 2003 - 21:10 #8
du replacer ' med tom f ex:
<%
tosend="m'm"
Response.Write Replace("toSend","'","")
%>
Avatar billede nielle Nybegynder
09. juli 2003 - 07:40 #9
Der skal *ikke* "-tegn rundt om variabelnavnet i en Replace:

toSend = Replace(toSend, "'", "")
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