|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.04.2010, 20:43 | #1 |
Пользователь
Регистрация: 08.11.2008
Сообщений: 50
|
поиск по фамилиям и вывод результатов в DBGrid
Подскажите пожалуйста.
Я осуществляю поиск по фамилиям и вывожу результат в DBGrid. Вот код: Код:
1) Если я в 3 строчке кода ставлю %, то эта функция не работает Код:
2)Мне кажется у меня запутанная связь между компонентами в датамодуле... Есть компонент ADOConnection1, который связывается с БД. Есть компонент DataSet1, в котором хранится таблица по которой осуществляется поиск. Есть компонент DataSource1, который связан с DataSet1. Есть компонент ADOQueryPoiskSotrudnika, в котором осуществляется запрос, и который связан с DataSource1. Есть DataSourcePoiskSotrudnika, который связан ADOQueryPoiskSotrudnika, чтоб в дальнейшем этот датасурс привязать к ДБГриду, так как ДБГрид связывается только по дата сурсам и напрямую с ADOQuery его не связать. Скажите можно ли как-нибудь упростить связку или так оно и делается? На 2 вопрос уже ответил. Только дошло, что ADOQueryPoiskSotrudnika достаточно связать с ADOConnection1 и все работает =ъ 3) Можно ли как-нибудь сделать, чтоб при поиске выделялась найденная запись в ДБГриде? И какой командой обращаться к выделенной записи в ДБГриде? 4) А еще слышал про такую структуру как LookupResult, может проще искать лукапризалтом? Если да то не подскажите как примерно с этим работать. 5) Подскажите пожалуйста текст запроса: поиск по фамилии, имени, отчеству, но так чтоб если задана фамилия, то имя и отчество учитывалась с учетом заданной фамилии. Последний раз редактировалось Explosion; 21.04.2010 в 22:30. |
21.04.2010, 23:21 | #2 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
Код:
датасет.locate('field', value, [LocateOptions]) все подробности по кнопке F1 |
22.04.2010, 12:23 | #3 |
Пользователь
Регистрация: 08.11.2008
Сообщений: 50
|
Спасибо огромное! А как насчет 3 вопроса?
|
22.04.2010, 12:30 | #4 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
|
22.04.2010, 13:24 | #5 | |
Форумчанин
Регистрация: 04.03.2007
Сообщений: 615
|
Цитата:
|
|
22.04.2010, 14:22 | #6 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
soleil@mmc, в пост #4 уже полностью ответил на этот вопрос! |
|
22.04.2010, 15:36 | #7 |
Пользователь
Регистрация: 08.11.2008
Сообщений: 50
|
Спасибо всем большое!
А не могли бы вы привести пример кода Код:
А еще подскажите пожалуйста текст запроса. Я осуществляю поиск по фамилии, имени, отчеству: Код:
Код:
Последний раз редактировалось Explosion; 22.04.2010 в 17:11. |
22.04.2010, 17:49 | #8 | |||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Код:
из хелпа: Цитата:
Цитата:
Какого типа поля (FK_StatusSotrudika, FK_Organization, FK_Dolzhnost ) ? А с какой таблицей связаны DBLookupComboBox 1 2 3 ? А Вы не забыли Выбрать все три величины?! (при Вашем подходе все ComboBox-ы должны иметь выбранное значение параметра! |
|||
22.04.2010, 18:28 | #9 | ||
Пользователь
Регистрация: 08.11.2008
Сообщений: 50
|
Цитата:
Спасибо за пример, сча попробую... А вот еще такой вопрос, допустим поиск дал 2 результата, 2 записи, а выделилась первая запись, есть ли какая нибудь команда, перебросить локейт на следующую запись? Цитата:
DBLookupCombobox.Key value это как раз тоже интережер, поэтому с FK_StatusSotrudika, FK_Organization, FK_Dolzhnost типы данных совпадают... При добавлении все работает прекрасно. Вы правы при моем раскладе все 3 величины надо чтоб были выбраны, я когда тестил не выбрал все 3, так как написал одно а хотел совсем другое... Если не сложно подскажите как написать запрос для не стрингового типа, чтоб по ним можно было осуществлять поиск. Если допустим один комбобокс не выбран осуществляется поиск по двум другим и т.д. У меня все работает с фамилией, именем, отчеством как задумано. Вот теперь хочется очень хочется, чтоб по ДБЛукапкомбобоксам результаты поиска фильтровались. А еще мне кажется с такой проблемой столкнусь: когда у DBCombobox'a не выбрано значение, то по умолчанию KeyValue равно нулю и поэтому он наверно будет левые результаты выдавать... |
||
22.04.2010, 18:29 | #10 | |||
Пользователь
Регистрация: 08.11.2008
Сообщений: 50
|
Цитата:
Спасибо за пример, сча попробую... А вот еще такой вопрос, допустим поиск дал 2 результата, 2 записи, а выделилась первая запись, есть ли какая нибудь команда, перебросить локейт на следующую запись? Цитата:
DBLookupCombobox.Keyvalue это как раз тоже числовой тип, поэтому с FK_StatusSotrudika, FK_Organization, FK_Dolzhnost типы данных думаю совпадают... Тем более при добавлении все работает прекрасно. Вы правы при моем раскладе все 3 величины надо чтоб были выбраны, я когда тестил не выбрал все 3, так как написал одно а хотел совсем другое... Если не сложно подскажите как написать запрос для не стрингового типа, чтоб по ним можно было осуществлять поиск. Если допустим один комбобокс не выбран осуществляется поиск по двум другим и т.д. У меня все работает с фамилией, именем, отчеством как задумано. Вот теперь очень хочется, чтоб по ДБЛукапкомбобоксам результаты поиска тоже фильтровались как по заданной фамилии, имени, отчеству. А еще мне кажется с такой проблемой столкнусь: когда у DBCombobox'a не выбрано значение, то по умолчанию KeyValue равно нулю и поэтому он наверно будет левые результаты выдавать... Locate попробовал. Запускаю делфи ругается что не знает, что такое loPartialKey. Цитата:
Последний раз редактировалось Explosion; 22.04.2010 в 19:07. |
|||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Паскаль. Вывод результатов алгоритма пошагово | mistertvister | Помощь студентам | 2 | 12.11.2009 08:25 |
Класс матрица, вывод результатов на экран | Student_911 | Помощь студентам | 0 | 03.10.2009 20:55 |
Вывод результатов! | Серый Рыйцарь | Помощь студентам | 3 | 21.05.2009 07:46 |
Как осуществить ввод данных в одном цикле, их обработку в другом, и вывод результатов в третьем? | ReM | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 11.11.2008 18:21 |
Вывод результатов в другой Grid | Barbara | БД в Delphi | 7 | 20.02.2007 15:14 |