Форум: "Базы";
Текущий архив: 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]Понятно.
Спасибо !
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.02.11;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c