Проблема фильтрации данных в Lazarus

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Проблема фильтрации данных в Lazarus

Сообщение Goreproger » 08.03.2019 10:04:53

Компоненты: TSQLite3DataSet с вкладки Data Access, TSQLite3Connection, TSQLQuery и TSQLTransaction с вкладки SQLdb. А для отображения данных базы DBGrid и TDataSource.
Необходимо при нажатии на кнопку фильтровать данные по критерию, который пользователь вводит в Edit.
Допустим пользователь вводи для колонки "Поставщики" в Edit "sq", и в Dbgrid отображаются только поставщики "sq". Я думаю задумка понятна.

Вообщем пишу следующий код:
procedure TForm1.Button2Click(Sender: TObject);
begin
SQLQuery.Active:=false;
SQLQuery.SQL.Clear;
SQLQuery.SQL.Add('SELECT*');
SQLQuery.SQL.Add('FROM jurnal');
SQLQuery.SQL.Add('WHERE supplier LIKE'''+Edit3.text+'''');
SQLQuery.Active:=true;
end;

Вроде все правильно, но кнопка нехера не делает. Т.е dbgrid не отображает только нужные данные, а соответственно отображает все. Просто кнопка без действия получается. Код был взят из delphi, может на лазе по другому нужно делать. Крч, если можно, просто скиньте рабочий код фильтрации в лазе. Заранее прошу прощения, что обращаюсь уже 2-ой раз. Вот таких вот программистов нынче выпускают наши шараги)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Goreproger
незнакомец
 
Сообщения: 3
Зарегистрирован: 01.03.2019 14:59:36

Re: Проблема фильтрации данных в Lazarus

Сообщение Снег Север » 08.03.2019 10:24:31

У меня похожий код прекрасно работает. Даже нет нужды закрывать SQLQuery. Заменяю SQLQuery.SQL.Text и вызываю SQLQuery.Refresh.

Добавлено спустя 26 минут 25 секунд:
рабочий пример с тестовой базой.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 1929
Зарегистрирован: 27.11.2007 16:14:47


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

Рейтинг@Mail.ru