powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Выборка данных из таблиц, SQL
6 сообщений из 6, страница 1 из 1
Выборка данных из таблиц, SQL
    #32332252
DioR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые профессионалы, очень нужна помощь! Изучаю interbase (IBX),
заодно пишу небольшую программку, не пойму могу реализовать такую фишку: на экран выводится форма с пустыми полями при ведении в них некоторых данных, эти данные ищутся в таблице и все найденные записи возвращаются в грид.(каждый эдит соответствует какому-либо столбцу)
...
Рейтинг: 0 / 0
Выборка данных из таблиц, SQL
    #32332273
Просто Я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
формируешь строку '(Поле1=Значение1)and(поле2=Значение2) ...'
Потом фильтр её
query.Filter := она родная
и наконец
query.Filtred := true
Ура !!!
...
Рейтинг: 0 / 0
Выборка данных из таблиц, SQL
    #32332285
Lt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lt
Гость
Может лучше не через фильтр(если таблица боьшая всю выбирать придется долго). В запрос можно добавлять параметры например
Query1.Close;
Query1.SQl.Clear;
Query1.SQl.Add('Select * from xxx where '#10#13 +
'(f1 like %' + grid.cells[1,1] + '%) and f2 = (' + text + ') and ......);
Query1.Open;
То что было в Gride можно перед выходом сохранить для использования при следуюшем входе
...
Рейтинг: 0 / 0
Выборка данных из таблиц, SQL
    #32332451
DioR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Профи SQL Взываю к вам! Сделал запрос через параметры, как подсказал Lt :

s='Select * From Table1';

IBQuery1.close;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add(s+' where (FILE_NAME = :FILE_NAME) and (NAME = :NAME)');
IBQuery1.ParamByName('FILE_NAME').AsString:=Edit1.Text;
IBQuery1.ParamByName('NAME').AsString:=Edit2.Text;
IBQuery1.Prepare;
IBQuery1.open;

При вводе текста в оба эдита записи находятся, все ок. Но появилась новая проблемма: если один эдит оставить пустым то запрос не находит ничего вообще. Хоьтя теперь нужно чтобы искал только по эдиту с текстом.
(эдитов для поиска будет 15 штук) ну и как здесь быть..?
...
Рейтинг: 0 / 0
Выборка данных из таблиц, SQL
    #32332452
Lt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lt
Гость
Я вооще то не через параметры прямо предлагал, а формировать запрос динамически - хотя в принципе кому как нравится.
Но если Edit пустой то просто надо обработать такую ситуацию:
например
Query1.Close;
Query1.Sql.Clear;
Query1.SQl.Add('Select * from xxx');
Edit1.Text > '' then
Begin
Query1.Sql.Add('where '#10#13);
Query1.Sql.Add('(and f1 = ' + Edit1.Text + ')');
end;
// Дальше можно в цикле
if EditN.Text > '' then
Begin
if Query1.Sql.Count < 2 then Query1.Sql.Add('where');//добавитьwhere
//если его еще нет
Query1.Sql.Add('and fn = ' + EditN.Text + ')');
end;
// и так далее
Если Edit пустой он просто не будет добавлен в запрос
Все просто или я что-то не так понял?
...
Рейтинг: 0 / 0
Выборка данных из таблиц, SQL
    #32333426
DioR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lt, Очень помог, спасибо!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Выборка данных из таблиц, SQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]