Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.01.29;
Скачать: [xml.tar.bz2];

Вниз

Экранирование кавычек в SQL   Найти похожие ветки 

 
АлександрМ   (2005-11-30 13:01) [0]

Используя компонент TQuery пытаюсь отправить SQL запрос вида:
UPDATE mytable SET field1="Текст. \" - это кавычка. Опять текст",  field2="Текст" WHERE field3=1111
Для экранирования кавычек использую обратный слеш, в соответствии с документацией по MySQL. Запрос выдаёт ошибку (без кавычки внутри текста запрос проходит). Если этот же запрос передаю в базу например через MySQL Front то всё работает.


 
Desdechado ©   (2005-11-30 13:09) [1]

а ты параметры не хочешь использовать, а?


 
АлександрМ   (2005-11-30 13:15) [2]

Если я буду использовать параметры, то TQuery сам разбедётся как кавычки экранировать? Сейчас попробую.


 
Плохиш ©   (2005-11-30 13:51) [3]

quotedstr


 
Anatoly Podgoretsky ©   (2005-11-30 13:56) [4]

АлександрМ   (30.11.05 13:15) [2]
Если будешь использовать параметры, то экранировать нечего.
Во вторых экранирование не имеет никакого отношения к TQuery


 
АлександрМ   (2005-11-30 14:31) [5]

Anatoly Podgoretsky, если экранирование не имеет никакого отношения к Query, то почему не работате мой запрос? Как будто ошибка в синтаксисе.

Я бы с радостью не использовал бы параметры. Мне гораздо удобнее составить сразу SQL запрос, чем вводить кучу параметров, а потом каждому присваивать значение.

В общем-то проблему сейчас решил. Спасибо всем за советы. Но непонимание осталось. Почему всё-таки не сработало экранирование обратным слешом?


 
Anatoly Podgoretsky ©   (2005-11-30 14:51) [6]

АлександрМ   (30.11.05 14:31) [5]
Работает он потому, что это информация для сервера, что следующий символ данного литерала не ограничитель, а символ.


 
АлександрМ   (2005-11-30 15:09) [7]

Anatoly Podgoretsky, запрос не работает! То есть, до сервера не доходит, что кавычка должна быть символом. Сервер почему-то считает, что это ограничитель! В результате чего и возникает проблема!


 
ANB ©   (2005-11-30 15:21) [8]


> АлександрМ   (30.11.05 15:09) [7]

Может я чего то путаю, но вы не пробовали обрамляющие кавычки заменить на одинарные ?


 
АлександрМ   (2005-11-30 18:16) [9]

ANB, тогда двойная кавычка проходит. ;-)
Только одинарные проходить перестают.


 
Плохиш ©   (2005-11-30 18:36) [10]


> АлександрМ   (30.11.05 18:16) [9]

Т.е. [3] совсем не помогает?


 
ANB ©   (2005-12-01 09:31) [11]


> АлександрМ   (30.11.05 18:16) [9]

А если у тебя в строках бывают разные кавычки - то не фиг парится, а переходи на параметры.
ЗЫ. В оракле \" и \" тоже не работает (другой синтаксис для этого). Обычно приходится использовать для маски в LIKE, например, когда нужно % искать.



Страницы: 1 вся ветка

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

Наверх





Память: 0.47 MB
Время: 0.056 c
4-1131982364
Grief
2005-11-14 18:32
2006.01.29
Выполняется ли exeшник?!


4-1132334112
manulo
2005-11-18 20:15
2006.01.29
Параметры окна по хендлу


3-1133265336
alex_***
2005-11-29 14:55
2006.01.29
OPENXML не понимает xml с атрибутом xmlns="..."


15-1136406579
ZeroDivide
2006-01-04 23:29
2006.01.29
Китайская компания хочет купить часть Delphi


3-1133294851
Layner
2005-11-29 23:07
2006.01.29
Господа, помогите с не кирилич. CHARSET и DBGrid...





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