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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.08.2011, 18:49   #1
Blood_ghosT
Пользователь
 
Регистрация: 29.07.2011
Сообщений: 92
Радость SQL запрос по поиску в БД

Добрый вечер форумчани!!
помогите завершить поиск!! Поисковик должен искать веденный текст в edit!!Вот что у меня получилось=>


var FindParam:string;
begin
case FindParamOnWarehouse.ItemIndex of
0: FindParam:='Naimenov';

1: FindParam:='ZavNomer';

2: FindParam:='Manuf';

3: FindParam:='Amount';

4: FindParam:='Price';
end;

frmConnection.qOnWarehouse.Active:= false;
frmConnection.qOnWarehouse.SQL.Clea r;
frmConnection.qOnWarehouse.SQL.Add( 'Select Naimenov, ZavNomer, Manuf, Amount, Price');
frmConnection.qOnWarehouse.SQL.Add( 'from OnWarehouse');
frmConnection.qOnWarehouse.SQL.Add( 'where '+FindParam+' LIKE "'+edFindName.Text+'%"');
frmConnection.qOnWarehouse.Active:= true;

но и мне еще надо чтобы программа искала не только по первой букве а по всему edit'у.
Например Андрей.Мои пример не будет искать если я введу н или д, а будет работать только когда я введу А!
За ранее спасибо!!!
Blood_ghosT вне форума Ответить с цитированием
Старый 03.08.2011, 18:53   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

LIKE '%текст%'


ДОБАВИЛ

Цитата:
Всмысле не понял LIKE '%текст%' это не оно разве
А если внимательней присмотреться на символы "%"?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 03.08.2011 в 19:08.
Аватар вне форума Ответить с цитированием
Старый 03.08.2011, 19:04   #3
Blood_ghosT
Пользователь
 
Регистрация: 29.07.2011
Сообщений: 92
По умолчанию

Всмысле не понял LIKE '%текст%' это не оно разве frmConnection.qOnWarehouse.SQL.Add( 'where '+FindParam+' LIKE "'+edFindName.Text+'%"');
Мне надо через edit искать не по первой букве а то что я введу edit
Blood_ghosT вне форума Ответить с цитированием
Старый 03.08.2011, 19:33   #4
Blood_ghosT
Пользователь
 
Регистрация: 29.07.2011
Сообщений: 92
По умолчанию

я убрал "" получилось frmConnection.qOnWarehouse.SQL.Add( 'where '+FindParam+' LIKE '+edFindName.Text+'%'); и выходит такая ошибка! (Безымянный.jpg)
Есть еще типа параллельных прямых (||) выражение в SQL пробывал тоже ошибка! не подскажите в моем примере как правильно расставить ||
Изображения
Тип файла: jpg Безымянный.jpg (26.9 Кб, 42 просмотров)
Blood_ghosT вне форума Ответить с цитированием
Старый 03.08.2011, 20:07   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
frmConnection.qOnWarehouse.SQL.Add( 'where '+FindParam+' LIKE ''%'+edFindName.Text+'%''');
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 03.08.2011, 20:18   #6
Blood_ghosT
Пользователь
 
Регистрация: 29.07.2011
Сообщений: 92
По умолчанию

Спасибо,заработало!!!
Blood_ghosT вне форума Ответить с цитированием
Старый 03.08.2011, 20:19   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

пробуйте:
Код:
frmConnection.qOnWarehouse.Close; 
frmConnection.qOnWarehouse.SQL.Clear; 
frmConnection.qOnWarehouse.SQL.Add( 'Select Naimenov, ZavNomer, Manuf, Amount, Price');
frmConnection.qOnWarehouse.SQL.Add( 'from OnWarehouse');
frmConnection.qOnWarehouse.SQL.Add( 'where '+FindParam+' LIKE '+QuotedStr('%'+edFindName.Text+'%'));
frmConnection.qOnWarehouse.Open;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 03.08.2011, 21:47   #8
Blood_ghosT
Пользователь
 
Регистрация: 29.07.2011
Сообщений: 92
По умолчанию

у меня по жизнено выходит ошибка когда я пишу open и по этому я всегда пишу active, так за то конкретно работает но все равно спасибо за помощь
Blood_ghosT вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос с CASE переделать в запрос с PIVOT (MS SQL Server 2005) Машуля SQL, базы данных 4 06.05.2010 21:09
Создание новых таблиц в MS SQL SERVERE через SQL запрос в Delphi S_Yevgeniy Помощь студентам 1 27.10.2009 06:26
Как правильно создать запрос по поиску в базе Access? Dux SQL, базы данных 2 03.05.2009 13:37
SQL-запрос Elena БД в Delphi 3 21.05.2007 11:34
SQL запрос на основе другого SQL запрса... Timoxa БД в Delphi 1 07.01.2007 18:15