Главная страница
    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-32226
madcap
2002-01-27 01:26
2002.02.11
Функция не возвращает TStringList


14-32339
roman001
2001-12-22 17:18
2002.02.11
Архиватор


1-32208
Вовчик
2002-01-25 21:43
2002.02.11
Ошибка в вычислениях


1-32262
Mewerik
2002-01-28 13:59
2002.02.11
Помогите!!!!!11


1-32221
Matvey
2002-01-26 21:49
2002.02.11
Существует ли Label вез подложки?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский