|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Поиск в БД с помощью компонентов DBGrid и Button
Здравствуйте! Пишу БД. С добавлением записей разобралась. Вот застряла в поиске. Как сделать: в компонент Edit вводишь ФИО, затем при нажатии кнопки Найти (Button), в DBGrid отображалась искомая запись.
Знаю только что нужно для кнопки Button прописать код. Помогите пожалуйста с кодом. Заранее благодарна! |
#2
|
|||
|
|||
О-хо-хо...
Дык код тебе дадут... но он либо не подойдет напрямую, либо вообще будет не совсем то. Код:
procedure TForm1.Button1Click(Sender : TObject); begin If not DBGrid1.DataSource.DataSet.Locate('FIO',VarArrayOf([Edit1.Text]),[]); Then ShowMessage('Что-то ничего нету :('); end; ЗЫ. С сигнатурой Locate мог попутать слегка - проверь в среде... |
#3
|
||||
|
||||
истина где-то рядом:
Код:
sql.text:='select * from table where fio='+''''+edit1.text+''''; sql.open; Последний раз редактировалось Admin, Сегодня в 10:32. |
#4
|
||||
|
||||
В общем ответ зависит от того как вы хотите видеть результат. Если надо что-бы в гриде отображались только записи для которых действует ваше ограничение заданное в едите, то используйте фильтр или запрос как показал friz
Если-же надо просто выделить запись в гриде которая попадает под ваше ограничение, то уже можно сделать так как советует lmikle Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#5
|
|||
|
|||
Цитата:
СПАСИБО БОЛЬШОЕ ВСЕ РАБОТАЕТ! |
#6
|
|||
|
|||
Цитата:
СПАСИБО БОЛЬШОЕ И ВАМ, ПРИГОДИТСЯ В ДАЛЬНЕЙШЕМ! |
#7
|
|||
|
|||
Цитата:
СПАСИБО ОГРОМНОЕ ЗА ПОДРОБНОЕ ПОЯСНЕНИЕ ОЧЕНЬ ПОМОГЛО! |
#8
|
|||
|
|||
Хотела этот же код использовать для поиска по году рождению, ну что то он у меня ошибку выдает...
procedure TForm3.Button2Click(Sender: TObject); begin If not DBGrid1.DataSource.DataSet.Locate('God_rojdeniay', VarArrayOf([Edit2.Text]), []) then ShowMessage('Человека с такими данными в БД нет'); end; наверно ошибка в этой части VarArrayOf подскажите пожалуйста |
#9
|
|||
|
|||
Что за ошибка то хоть?
Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение" |
#10
|
|||
|
|||
Цитата:
Could not convert variant of type (Array Variant) into type (Double) |
#11
|
|||
|
|||
Цитата:
procedure TForm3.Button2Click(Sender: TObject); begin If not DBGrid1.DataSource.DataSet.Locate('God_rojdeniay', Edit2.Text, []) then ShowMessage('Инвалида с такими данными в базе данных нет'); end; Убрала VarArrayOf и поиск работает по году рождению... так ведь можно? |
#12
|
|||
|
|||
Цитата:
А если через запрос делать, это нужно вначале создать запрос на основе таблиц в Database Desktop? |
#13
|
|||
|
|||
Цитата:
нет. использовать для доступа к данным Query в его свойство sql записать запрос. Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение" |
#14
|
|||
|
|||
Цитата:
записала запрос SELECT * FROM "1.db" 1 WHERE (FIO = :FIO_param) как теперь его выполнить по нажатию кнопки Button? |
#15
|
|||
|
|||
Код:
Query1.Active:=true; Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение" |