Кавычки в FireBird

Модератор: Модераторы

Кавычки в FireBird

Сообщение EmeraldMan » 08.12.2008 16:22:54

Есть такая проблемка - формирую запрос в БД FireBird:
Код: Выделить всё
INSERT INTO table1 VALUES (7, 'Вася', 'Пупкин'); //здесь ID (integer), fname (varchart), lname (varchart)

В программе приходится писать:
Код: Выделить всё
SQLQuery1.SQL.Add('INSERT INTO table1 VALUES (7, '+#39+'Вася'+#39+' ,'+#39+'Пупкин'+#39+');');

- для того чтобы поставить одинарные кавычки. Можно ли эту ситуацию как-нибудь обойти? а то уж очень не удобно.
В Access я в запросте просто ставил ", но здесь при двойных кавычках возникает ошибка.
Аватара пользователя
EmeraldMan
постоялец
 
Сообщения: 149
Зарегистрирован: 16.10.2008 08:41:51
Откуда: Белгород

Re: Кавычки в FireBird

Сообщение Vadim » 08.12.2008 17:20:14

EmeraldMan писал(а):Можно ли эту ситуацию как-нибудь обойти?

Можно. В тексте запроса воспользуйтесь функцией QuotedStr(), параметром которой идут текстовые данные, которые должны быть заковычены.
А вообще-то у меня нормально работают двойные кавычки.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Кавычки в FireBird

Сообщение EmeraldMan » 08.12.2008 17:36:30

Vadim писал(а):В тексте запроса воспользуйтесь функцией QuotedStr()

Спасибо! Так гораздо удобнее! :)
Аватара пользователя
EmeraldMan
постоялец
 
Сообщения: 149
Зарегистрирован: 16.10.2008 08:41:51
Откуда: Белгород

Re: Кавычки в FireBird

Сообщение Attid » 08.12.2008 18:08:08

EmeraldMan
во первых надо пользоваться параметрами, чтобы не было больно потом

во вторых кавычки двойные работают на ура. и

Код: Выделить всё
SQLQuery1.SQL.Add('INSERT INTO table1 VALUES (7, ''ася'' ,''Пупкин'');');

должно отработать нормально. если не работате то ты что-то скрываешь.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Кавычки в FireBird

Сообщение EmeraldMan » 08.12.2008 18:59:07

Attid
Благодарю код помог!
Я ничего не скрывал, просто ставил двойные кавычки не как две одинарных, а одним символом " двойной кавычки.
Аватара пользователя
EmeraldMan
постоялец
 
Сообщения: 149
Зарегистрирован: 16.10.2008 08:41:51
Откуда: Белгород

Re: Кавычки в FireBird

Сообщение Sergei I. Gorelkin » 08.12.2008 20:32:56

Странно, мне, когда в свое время перепиливал проект с BDE на Firebird, пришлось во всех запросах менять одинарные кавычки на двойные, иначе наотрез отказывалось работать...
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1403
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Re: Кавычки в FireBird

Сообщение Attid » 08.12.2008 21:09:32

Sergei I. Gorelkin боюсь ты что-то путаешь, двойные кавычки могут использоваться только в альясах полей. а вот две одинарные обязательно надо.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Кавычки в FireBird

Сообщение Sergei I. Gorelkin » 08.12.2008 22:15:47

Посмотрел повнимательнее, благо в svn все ходы записаны. Действительно, прогнал малость... Вокруг названий таблиц пришлось двойные кавычки добавлять, вокруг литералов - менять двойные на одинарные.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1403
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru