Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.11;
Скачать: [xml.tar.bz2];




Вниз

Помогите решить проблему ! 


Yakudza   (2002-01-14 18:41) [0]

Вот есть такая проблема.
Я добавляю текст в базу вот таким образом:

SQL := ("UPDATE general SET des = " + """ +Trim(Memo1.Text + """ + " WHERE id = " +IntToStr(cid));
...
DM.qAddDesc.SQL.Text := SQL;
DM.qAddDesc.ExecSQL;
...

Но текст содержит какие угодно символы типа /":" и т.д. когда пытаешся сделать ExecSQL получаеться матюк и данные не вставляються. Если это происходит я заменяю все стрёмные символы на двойные, вообщем вроде все нормально но вот проблема с двоеточиями я их заменяю на двойные и они так и записываються в базу, вообщем каждое редактирование текста и двоеточия плодяться со страшной силой :)
Подскажите в чем проблема, как передать ВСЕ символы в SQL запрос.



dmitryK   (2002-01-14 19:47) [1]

- отключи использование параметров в запросе:

DM.qAddDesc.ParamCheck:=False;

должно нормально работать.
- апостроф заменяй на два подряд идущих
- остальные символы должны проходить без проблем если идут между открывющим и закрывающим апострофом
(хотя, у меня стоит MSSQL и иногда, когда в середине запроса встречается двойная кавычка, сервер решает что это конец строки и ругается - глюк, однако)



NDeu   (2002-01-15 11:57) [2]

А лучше работай параметрами :)



Dok_3D   (2002-01-15 13:41) [3]

Действительно, чем выполнять все требования, которые посоветовал dmitryK, гораздо проще и надежнее работать с параметрами,

Query.SQL.Add("UPDATE general SET des =:Text WHERE id =:Id ");
Query.Parameters.ParamByName("Text").DataType:=ftString;
Query.Parameters.ParamByName("Text").Value:=Memo1.Text;
Query.Parameters.ParamByName("Id").DataType:=ftInteger;
Query.Parameters.ParamByName("Text").Value:=cid;
Query.ExecSQL;

Тогда ты точно застрахован он всех сюрпризов твоего Memo1.Text,
для этого параметры и придумали.




Yakudza   (2002-01-15 14:42) [4]

Понятно.
Спасибо !




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.11;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.025 c
1-32189           RUS1                  2002-01-29 10:11  2002.02.11  
Господа!!!! Как сделать чтобы прога ждала окончания выполнения процедуры ExecuteFile


1-32285           XX                    2002-01-28 17:12  2002.02.11  
Как сложить (сумировать) все ячейки определенного столбца?


14-32336          Moscower              2001-12-21 17:31  2002.02.11  
Никто не знает, что случилось с chat.ru? Уже 3 дня не работает...


7-32357           Dankin                2001-11-05 03:44  2002.02.11  
Помогите пожалуйсто, если кто знает КАК МОЖНО УЗНАТЬ КОЛИЧЕСТВО УСТАНОВЛЕННОЙ ВИДЕО ПАМЯТИ НА КАРТОЧКЕ, И можноли узнать количество свободной памяти.


4-32383           Olgerd                2001-12-09 18:19  2002.02.11  
Панель задач