Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.003 c
1-32212
Сержик
2002-01-25 09:26
2002.02.11
Как сделать чтобы


14-32334
petr_v_a
2001-12-21 17:13
2002.02.11
Алгоритм подсчета контрольной цифры ИНН


3-32142
Voi
2002-01-15 15:02
2002.02.11
Посимвальная отфильтрация данных в Delphi


6-32298
Abzetdin
2001-11-18 22:08
2002.02.11
Передача динамического массива через Сокеты


3-32129
IlyaLu
2001-12-24 15:36
2002.02.11
dbExpress





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский