Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.29;
Скачать: CL | DM;

Вниз

Экранирование кавычек в 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.051 c
4-1131972338
Суслик
2005-11-14 15:45
2006.01.29
Вопрос про GetKeyState


15-1136442235
syte_ser78
2006-01-05 09:23
2006.01.29
Научился менять симку в Нокиа


15-1136064590
Игорь Шевченко
2006-01-01 00:29
2006.01.29
Наталия, с днем рождения!


15-1136806914
psa247
2006-01-09 14:41
2006.01.29
Кодировка ?


3-1133341391
s77
2005-11-30 12:03
2006.01.29
SQL запрос к Access через ADO дату в строку