Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Кавычки в текстовых полях SQL-запросов


Страницы:   1 2

Егоров А.Н. ©   (2007-01-25 10:41:00) 

Подскажите, пожалуйста, как написать кавычки в текстовом поле таблицы (Delphi 7, ADO, провайдер VFPOLEDB v.8, базы FoxPro 3.x). Запрос на изменение записи:

with ADOQuery.SQL do
 begin
  Clear;
  Add('Update "C:\table_1.dbf"');
  Add(' set name="ООО ""Предприятие"""');
  Add(' where code="000001"');
 end;
ADOQuery.ExecSQL;

выдает ошибку "Command contains unrecognized phrase/keyword", которая связана с
' set name="ООО ""Предприятие"""'.


Плохиш   (2007-01-27 00:55:00) [1]


> serko ©   (27.01.07 00:24) [24]

А чем примеры из справки не помогают?


serko   (2007-01-27 00:24:00) [2]


> Johnmen ©   (26.01.07 22:42) [21]


А как же насчет создать и удалить?

У меня выскакиевает Ошибка что такого параметра не существует...


Anatoly Podgoretsky   (2007-01-26 23:33:00) [3]

Как собака, все понимает, но сказать не может.


sniknik   (2007-01-26 23:30:00) [4]

sniknik ©  
> Я знаю о этом давно !!!
о том что #39 = ' (Alt + (up описание) тому проверка)
?
а что же ты тогда пишешь

Makcim ©   (25.01.07 20:04) [11]
> Johnmen ©  
> #39 - "
?
какойто другой символ? раз неправильно пишешь значит не знаеш, я сказал как узнать.


Johnmen   (2007-01-26 22:42:00) [5]


> Вот можна мои слова перевести в практический пример?


Твои слова не все подлежат переводу. Только эти - "ему значение присвоить, потом выполнить SQL".
Как перевести? Лучше всего это знает F1 на Params.


serko   (2007-01-26 22:30:00) [6]


> ЮЮ ©   (25.01.07 10:54) [2]


Можна о параметра по подробнее?

Как я понимаю Параметр нужно сначала создать, потом ему значение присвоить, потом выполнить SQL а аж потом удалить параметр.

Вот можна мои слова перевести в практический пример?


Olivetti   (2007-01-26 22:10:00) [7]

Ты чуть-чуть до орешника не дотягиваешь.

Макс, еще немного, еще чуть-чуть!


Johnmen   (2007-01-26 21:53:00) [8]


> Makcim ©   (26.01.07 21:35) [15]


Ты чуть-чуть до орешника не дотягиваешь.


Makcim   (2007-01-26 21:37:00) [9]

sniknik ©  

Я знаю о этом давно !!!


Makcim   (2007-01-26 21:35:00) [10]

zdm ©  

Согласен на все 100 %


Makcim   (2007-01-26 21:35:00) [11]

Плохиш ©

Эту ситуация я обошел обычным if else, который убирает ковычку или конвертирует в дос !!!


zdm   (2007-01-26 14:28:00) [12]

Можно до бесконечности трясти данную тему, но вывод один ПАРАМЕТРЫ. Если со строковыми переменными еще как-то  можно поизвращаться, то с Датами и временем, да и с вещественным типом, начинается натыкалово на специфику БД. А через параметры, мы всегда разговариваем с БД на одном языке.


Плохиш   (2007-01-26 14:17:00) [13]


> Makcim ©   (25.01.07 19:40) [8]

А теперь внеси в свои Data_Qvery1 или Data_Qvery2 строку Д'Артаньяни удивись, куда тебя твой пример пошлёт.


sniknik   (2007-01-25 20:54:00) [14]

Makcim ©   (25.01.07 20:04) [11]
зажми Alt и начинай набирать на доп. раскладке (цифровой квадрат справа у клавиатуры) 3 9 и отпусти Alt, получилось? а что получилось?... ;)


Makcim   (2007-01-25 20:04:00) [15]

Johnmen ©  

#39 - "


Johnmen   (2007-01-25 19:52:00) [16]


> Makcim ©   (25.01.07 19:40) [8]


Спасибо за разъяснение.
От только не могу вспомнить, что за символ #39. Ты не помнишь?


Makcim   (2007-01-25 19:47:00) [17]

Data_Qvery1
Data_Qvery2

Это переменные типа string


Makcim   (2007-01-25 19:40:00) [18]

Johnmen ©

Используй ' .... Всё что находится в рамках кавычек '....' SQL воспринимает как запрос и обрабатывает его сообтветственно. Если же тебе надо вставить в текс запроса значение допустим лейбела выделяется с помощью #39 что б SQL не прореагировал на кавычки.
Приведу текс примера написания запроса в делфе:

      Query1.SQL.Append('SELECT  *'+
     ' FROM Query1WHERE ('+'"'+'DATE'+'"'+
     ' BETWEEN '+#39+Data_Qvery1 +#39+' and  '+#39+Data_Qvery2+#39+
     ')');

В этом примере расмотрено использование и #39, и "


Johnmen   (2007-01-25 18:42:00) [19]


> Makcim ©   (25.01.07 18:32) [6]
> "'


Какую из них?


Makcim   (2007-01-25 18:32:00) [20]

Johnmen ©

"'


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо