Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
22.11.2003, 23:12
|
|||
|---|---|---|---|
|
|||
Выборка данных из таблиц, SQL |
|||
|
#18+
Уважаемые профессионалы, очень нужна помощь! Изучаю interbase (IBX), заодно пишу небольшую программку, не пойму могу реализовать такую фишку: на экран выводится форма с пустыми полями при ведении в них некоторых данных, эти данные ищутся в таблице и все найденные записи возвращаются в грид.(каждый эдит соответствует какому-либо столбцу) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.11.2003, 03:58
|
|||
|---|---|---|---|
|
|||
Выборка данных из таблиц, SQL |
|||
|
#18+
формируешь строку '(Поле1=Значение1)and(поле2=Значение2) ...' Потом фильтр её query.Filter := она родная и наконец query.Filtred := true Ура !!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.11.2003, 09:35
|
|||
|---|---|---|---|
|
|||
Выборка данных из таблиц, SQL |
|||
|
#18+
Может лучше не через фильтр(если таблица боьшая всю выбирать придется долго). В запрос можно добавлять параметры например 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 можно перед выходом сохранить для использования при следуюшем входе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.11.2003, 20:30
|
|||
|---|---|---|---|
|
|||
Выборка данных из таблиц, SQL |
|||
|
#18+
Профи 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 штук) ну и как здесь быть..? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.11.2003, 20:42
|
|||
|---|---|---|---|
|
|||
Выборка данных из таблиц, SQL |
|||
|
#18+
Я вооще то не через параметры прямо предлагал, а формировать запрос динамически - хотя в принципе кому как нравится. Но если 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 пустой он просто не будет добавлен в запрос Все просто или я что-то не так понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=58&tablet=1&tid=2115784]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 381ms |

| 0 / 0 |
