Page 1 of 1

SQL Server Error: Unclosed quotation mark

Posted: Tue 12 Jun 2007 09:54
by Jorge
Hi all, I have some trouble (maybe on my side, but...):

Driver: MS SQL 3.20.10 Trial
Settings: Delphi7, dbexpsda.dll, sqloledb.dll, getSQLDriverSQLServer
Server: SQLEXPRESS on local

Error message (possible problem is bold, red):
SQL Server Error: Unclosed quotation mark after the character string ',',1,null,31928,0);'.
Incorrect syntax near 'Čxxxá'.

SQL:
insert into "BALL" ("ID_BALL","CUSTOM_ID","SOURCE","TIMEOF","TAKER_ID","PRIORITY"
,"INF_TITLE","INF_DETAIL","EVENT112_ID","PATIENTS","PAT_COUNT"
,"ADDR1_TYPE","ADDR1_USER","ADDR1_COUNTRY","ADDR1_CITY"
,"ADDR1_STREET","ADDR1_NUMBER","ADDR1_ADRKOD"
,"ADDR1_GIS","ADDR1_GISX","ADDR1_GISY","ADDR1_NOTE"
,"ADDR2_TYPE","ADDR2_USER","ADDR2_COUNTRY","ADDR2_CITY"
,"ADDR2_STREET","ADDR2_NUMBER","ADDR2_ADRKOD"
,"ADDR2_GIS","ADDR2_GISX","ADDR2_GISY","ADDR2_NOTE"
,"CALLER_NAME","CALLER_PHONE","REQ_CREW_TYPE"
,"PLAN_TIME","PLAN_EQUIPMENT","SUCC_COUNT","CLOSE_TIME"
,"LAST_HIST_ID","DELETED")
values
(7761,'061030-59',1,'2006-10-30 12:41:53',396,3,'Asistence','Dg J 12.0, xxxx Dr Yyyyy'
,null,null,1,2,'"AAA":"X.Y:"','Čxxxá republika','','','',-1,null,-1,-1,'',2,'"Pxxxxx":"yyy."','Čxxxá republika','','','',-1,null,-1,-1,'','','',1,'2006-10-30 12:41:53','',1,null,31928,0);

Note the SQL is assembled in runtime, started as query.ExecSQL(True).
From cca 30,000 inserts assembled by the same routine was cca 30 evaluated with similar error.
When is SQL used in MS SQL Studio as is, it is processed correctly.

Thanks for reply.

Posted: Tue 12 Jun 2007 12:38
by Jorge
Hi again,
it seems the problem is in double quote and/or colon characters. Some combination - as "XX:YY" or odd count of double quotes raises error. But - not in all cases...

Posted: Wed 13 Jun 2007 08:13
by Jackson
This is a dbExpress bug with parsing parameters in queries.
Modify your query, or use parameters instead.