Компоненты: 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-ой раз. Вот таких вот программистов нынче выпускают наши шараги)
Проблема фильтрации данных в Lazarus
Модератор: Модераторы
-
Goreproger
- незнакомец
- Сообщения: 3
- Зарегистрирован: 01.03.2019 13:59:36
Проблема фильтрации данных в Lazarus
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Снег Север
- долгожитель
- Сообщения: 3071
- Зарегистрирован: 27.11.2007 15:14:47
- Контактная информация:
У меня похожий код прекрасно работает. Даже нет нужды закрывать SQLQuery. Заменяю SQLQuery.SQL.Text и вызываю SQLQuery.Refresh.
Добавлено спустя 26 минут 25 секунд:
рабочий пример с тестовой базой.
Добавлено спустя 26 минут 25 секунд:
рабочий пример с тестовой базой.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
