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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2010, 19:34   #1
Asblue
Пользователь
 
Аватар для Asblue
 
Регистрация: 21.10.2010
Сообщений: 78
Восклицание Поис в BDGrid через Edit

Есть процедура для поиска по автору в BDGrid1 через Edit1.

Безымянный.jpg

Но при попытке ввести в Edit1 какую-нибудь фамилию, появляется ошибка:

asd.jpg

В чём тут проблема?
И как такаю же процедуру поиска через Edit1 написать для Button1?

Вот эта процедура:

Код:
procedure TForm2.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
with ADOQuery1 do begin
Close;
//SQL.Clear;
SQL.Add('SELECT DISTINCT id_kniga,name_kniga,avtor,stranic,izdatel,god_izdan,cena,id_postav FROM kniga');
SQL.Add('WHERE avtor LIKE'+quotedstr(Edit1.text+'%'));
SQL.Add('name_kniga');
Open;
end;
end;
Помогите пожалуйста, буду очень благодарна! )
Asblue вне форума Ответить с цитированием
Старый 16.12.2010, 19:47   #2
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

SQL.Add('name_kniga'); эта строка к чему? Здесь ошибка.
Главная логическая ошибка в том, что на каждый тык в клавиатуру закрываем-открываем-перечитываем данные
Есть Locate. Этот метод и надо использовать.
Прик вне форума Ответить с цитированием
Старый 16.12.2010, 22:40   #3
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

Кстати, зря убрал SQL.Clear;
Очень зря
_Engine_ вне форума Ответить с цитированием
Старый 16.12.2010, 22:51   #4
dosha
Форумчанин
 
Регистрация: 30.08.2010
Сообщений: 224
По умолчанию

Код:
procedure TForm2.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
with ADOQuery1 do begin
active:=false;
SQL.Clear;
SQL.Add('SELECT DISTINCT id_kniga,name_kniga,avtor,stranic,izdatel,god_izdan,cena,id_postav FROM kniga');
SQL.Add('WHERE avtor LIKE'+quotedstr(Edit1.text+'%'));
active:=true;
end;
end;
dosha вне форума Ответить с цитированием
Старый 16.12.2010, 23:14   #5
Asblue
Пользователь
 
Аватар для Asblue
 
Регистрация: 21.10.2010
Сообщений: 78
По умолчанию

СПАСИБОООО!!! Ура! )) dosha, Ваш код - да!
Asblue вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск через Edit rombler69 БД в Delphi 9 12.05.2013 17:12
Заполнение массива через Edit FennecFox Общие вопросы Delphi 7 12.08.2010 10:39
Проверка Edit, через val.. r-tem Компоненты Delphi 2 13.12.2007 20:19
поис компонента поддерживающего png *Devil* Компоненты Delphi 1 11.11.2007 11:10
как из одной BDgrid скопировать выделенное поле в другую BDgrid Шурик БД в Delphi 7 03.05.2007 14:24