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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2011, 19:45   #1
Devil_Boy
 
Регистрация: 18.10.2010
Сообщений: 8
Вопрос Поиск/InterBase/Delphi

Здравствуйте
Как должен выглядеть запрос и код программы чтобы реализовать поиск в DBGrid'e по всем строкам/столбцам таблицы через один Edit и Button?

Если искать по одному столбцу, то выходит так:

procedure TForm1.Button1Click(Sender: TObject);
begin
if Length(Edit1.Text)>0 then
begin
IBQuery1.Close;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add('Select * from ТАБЛИЦА where СТОЛБЕЦ LIKE ' + #39 + '%' + Edit1.Text +'%' + #39);
IBQuery1.Open;

По нескольким никак не получается(
Devil_Boy вне форума Ответить с цитированием
Старый 25.05.2011, 19:55   #2
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Код:
IBQuery1.SQL.Add('Select * from ТАБЛИЦА where СТОЛБЕЦ LIKE ' + QuotedStr('%' + Edit1.Text +'%') + 
' and/or СТОЛБЕЦ2 LIKE '...)
Прик вне форума Ответить с цитированием
Старый 25.05.2011, 20:34   #3
Devil_Boy
 
Регистрация: 18.10.2010
Сообщений: 8
По умолчанию

Не знаю правильно ли я написал, но:
Код:
IBQuery1.SQL.Add('Select * from таблица where СТОЛБЕЦ1 LIKE ' + QuotedStr('%' + Edit1.Text +'%') 
+ 'or СТОЛБЕЦ2 LIKE ' + QuotedStr('%' + Edit1.Text +'%') + 'or СТОЛБЕЦ3 LIKE '  + QuotedStr('%' + Edit1.Text +'%') + 'or СТОЛБЕЦ4 LIKE ' + QuotedStr('%' + Edit1.Text +'%') 
+ 'or СТОЛБЕЦ5 LIKE ' + QuotedStr('%' + Edit1.Text +'%'));
При вводе цифры все ок, текста - ошибка.
Devil_Boy вне форума Ответить с цитированием
Старый 25.05.2011, 20:46   #4
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Скорее всего, из-за того, что нет пробела перед or.
И очень сомнительно, что Interbase стал воспринимать имена таблиц и полей кириллицей. Может какая новейшая крутая версия? Хотя, чудес на свете предостаточно.
Прик вне форума Ответить с цитированием
Старый 25.05.2011, 20:54   #5
Devil_Boy
 
Регистрация: 18.10.2010
Сообщений: 8
По умолчанию

Поставил пробел перед or и все так же цифры находит, буквы - ошибка
Devil_Boy вне форума Ответить с цитированием
Старый 25.05.2011, 21:05   #6
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Может быть... Если поля таблицы типа varchar (char), date, time то значения нужно заключать в кавычки, иначе без кавычек.
Прик вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск в таблицах InterBase! HELP! WindRunner БД в Delphi 6 31.07.2010 23:46
Delphi 7.0 + interbase MikoMika Фриланс 1 29.05.2010 12:40
interbase+delphi KiSH333 БД в Delphi 3 15.08.2008 09:53
Delphi и InterBase -2 Edimus БД в Delphi 5 07.11.2007 14:51
Delphi и InterBase Edimus БД в Delphi 12 06.11.2007 14:18