Добрый вечер знатоки. Работаю с дельфином около года. Передали в нагрузку, стараюсь способствовать... Обрисую суть. Есть програмулина - Заходит на определенный сайт базы, и выкачивает оттуда данные в виде Фамилии Имени и т д... в SQL таблицу. Цикл идет по кругу до бесконечности. Так должно было быть по логике, но - сайт Украинский, поэтому в некоторых графах есть символ апострофа и после этого выскакивает исключение "missing right quote" и цикл останавливается. Прошу помощи! Облазил все, не вижу в упор как показать коду что слово одно. Заранее спасибо
Так не пробував:
str01:= StringReplace(before, '\'', '\\\'', [rfReplaceAll, rfIgnoreCase]);
або
str01:= StringReplace(before, '\'', '', [rfReplaceAll, rfIgnoreCase]);
Почитай http://www.delphibasics.ru/StringReplace.php
//---------------------------------
//===KAR_ON==============
Query3.Active:=false;
Query3.DatabaseName:='1ROB';
Query3.SQL.Clear;
str01:='EXEC AddRecT01 '+ B_VarToStr(Sender,RBS.ID_Kart_Pt06,4)
+','''+ DR_PT15 +''','
+''''+ NK_PT16 +''','
+''''+ FIO_PT17 +''','
+''''+ FIO_PT18 +''','
+''''+ FIO_PT19 +''','
+''''+ FIO_PT20 +''','
+''''+ FIO_PT23 +''','
+''''+ P1_PT29 +''','
+''''+ P1_PT30 +''','
+''''+ P1_PT31 +''','
+''''+ P2_PT33 +''','
+''''+ P2_PT34 +''','
+''''+ P2_PT35 +''','
+''''+ P3_PT37 +''','
+''''+ P3_PT38 +''','
+''''+ P3_PT39 +''','
+ B_VarToStr(Sender,ADR_PT49,4)+',0';
//
Query3.SQL.Add(str01);
Query3.ExecSQL;
Попробуйте задебажить весь Ваш код и найти точное место где он падает (возникает это исключение). Попробуйте задампить вашу переменную "str01" после того, как она полностью будет сформирована: сначала передайте Ваши данные без апострофа, а потом с апострофом. Посмотрите, что получится в итоге. Если проблема все-таки в этом - нужно экранировать все специальные символы в строке (апостроф и т.д.). В статье написано, как это можно сделать.