Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2011, 09:39   #1
JK0
Пользователь
 
Регистрация: 01.09.2010
Сообщений: 26
По умолчанию Метасимвол - любой символ

Здравствуйте!
Задача: в зависимости от записи в комбобоксе (их несколько) произвести фильтрацию данных в таблице (выводится в DBGRID). Запись в комбо отлавливаю в строковую переменную, а её помещаю в SQL запрос. Получается что-то типа:
'SELECT * FROM table WHERE table_id LIKE '''+srtokovaya_peremennaya+''''
Проблема: какое значение присвоить строковой переменной, чтобы при пустом комбо из таблицы выбирались все записи? Или это в принципе невозможно?
JK0 вне форума Ответить с цитированием
Старый 29.04.2011, 13:07   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

При пустом комбо выполняй запрос без WHERE
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.04.2011, 13:46   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А я даже поясню:
Код:
s:='SELECT * FROM table ';
if Combo.Text<>'' then s:=s+'WHERE table_id LIKE '+quotedStr(srtokovaya_peremennaya);
sql.text:=s; Open;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.05.2011, 02:37   #4
JK0
Пользователь
 
Регистрация: 01.09.2010
Сообщений: 26
Радость

Спасибо. Жаль всё-таки, что с where нельзя...
JK0 вне форума Ответить с цитированием
Старый 16.05.2011, 03:14   #5
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Цитата:
Сообщение от JK0 Посмотреть сообщение
Спасибо. Жаль всё-таки, что с where нельзя...
Можно:
Код:
'SELECT * FROM table WHERE table_id LIKE '''+srtokovaya_peremennaya+''' or '''+srtokovaya_peremennaya+''' = '''''
ПС: в sql даже можно в условии where применять 1=1
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.

Последний раз редактировалось Sparkman; 16.05.2011 в 03:22. Причина: немного косячнул :)
Sparkman вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Интересная задача, реализация временных логик (любой логики), язык любой. Flyym Помощь студентам 1 05.01.2011 03:10
Любой файл в ресурсы phphel Общие вопросы Delphi 7 12.09.2010 17:55
Любой тип данных _-Re@l-_ Паскаль, Turbo Pascal, PascalABC.NET 8 09.08.2010 13:28
конвертировать номер из любой базы в любой другую базу stefan0202 Фриланс 6 02.03.2010 21:47