Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / IN statement / 7 сообщений из 7, страница 1 из 1
03.07.2008, 17:28
    #35409710
Tamara Mchedlidze
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IN statement
Добрыи Вечер!

Вот такая проблемма:

Есть таблица:

CREATE TABLE options
(
optionname character varying DEFAULT 100,
optionvalue character varying(500),
optiondescription text,
optionid serial NOT NULL,
optionlongvalue text,
CONSTRAINT options_pkey PRIMARY KEY (optionid)
)

и query:

'select * from options where optionname in (''maintext'',''mainphoto'','+
'''takebackup'',''backupinterval)'''


которыи упорно ругается что нет столбца 'maintext'. Почему ето происходит?

Спасибо!!!
...
Рейтинг: 0 / 0
03.07.2008, 17:44
    #35409753
pamir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IN statement
Потому что строки в sql заключаются в одинарные кавычки
...
Рейтинг: 0 / 0
03.07.2008, 17:53
    #35409790
Tamara Mchedlidze
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IN statement
Да это я прям с Delphi копировала, ясно что в одиночные...
...
Рейтинг: 0 / 0
03.07.2008, 18:06
    #35409846
Ёш
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IN statement
имхо в дельфи 'bla bla ... ''maintext'' ... bla bla ...' эквивалентно 'bla bla ... maintext ... bla bla ...'
непомню как в паскале строки эскейпить ? может быть так:
Код: plaintext
'select * from options where optionname in (\'maintext\',\'mainphoto\','

--
„Истина — это вовсе не то, что можно убедительно доказать, это то, что
делает всё проще и понятнее“ — Антуан де Сент-Экзюпери
...
Рейтинг: 0 / 0
03.07.2008, 18:07
    #35409847
pamir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IN statement
Tamara MchedlidzeДа это я прям с Delphi копировала, ясно что в одиночные...Ну, вы трейсом пройдите и покажите, что у вас лежит в TQuery.sql
...
Рейтинг: 0 / 0
03.07.2008, 18:08
    #35409854
pamir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IN statement
Ёшимхо в дельфи 'bla bla ... ''maintext'' ... bla bla ...' эквивалентно 'bla bla ... maintext ... bla bla ...'
непомню как в паскале строки эскейпить ? может быть так:
Код: plaintext
'select * from options where optionname in (\'maintext\',\'mainphoto\','

--
„Истина — это вовсе не то, что можно убедительно доказать, это то, что
делает всё проще и понятнее“ — Антуан де Сент-Экзюпери
На сколько я помню, дважды одиночные кавычки в строке (в исходном коде) означают одиночную кавычку в переменной во время выполнения. Если не ошибаюсь - давно было.
...
Рейтинг: 0 / 0
03.07.2008, 18:09
    #35409858
Tamara Mchedlidze
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IN statement
Вот ерундистика - последние кавычки неправильно поставила:

'select * from options where optionname in (''maintext'',''mainphoto'','+
'''takebackup'',''backupinterval)''' -> ''backupinterval'')'

спасибо тем не менее !!!
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / IN statement / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]