Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
5 / 5 / 0
Регистрация: 09.01.2010
Сообщений: 161

Как осуществить поиск по данным?

24.05.2010, 17:31. Показов 2936. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день всем) подскажите пожалуйста как осуществить поиск по данным, у меня в первом DBGrid есть столбец Фамилия, как сделать так чтобы, при нажатии на ПОИСК, челвоека с такой фамилией выводило в DBGrid2?

Добавлено через 27 минут
я сделал вот так

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
 
                
                Query1.SQL.Clear();
                Query1.SQL.Add('Select * from 1.dbf where FIO_STUD='+Edit1.Text+'');
                Query1.Active:= false;
                Query1.Active:= true;
                Edit1.Clear();
 
end;
 
end.
вроде запускается, но при нажатии на кнопку все виснит и появляется ошибка
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.05.2010, 17:31
Ответы с готовыми решениями:

Как осуществить в дельфи осуществить поиск по таблице из другой формы?
Очень выручите, плизз

Подскажите, как осуществить поиск в TADOTable?
Ребят, проблема, срочная, не могу сделать поиск по базе, находил много инфы по ADOquery, но не подходит, у меня ADOtable, я чайник еще тот,...

Как осуществить поиск по БД из Interbase без учета регистра?
Уже перепробовала несколько методов - тщетно Вот один из них: Sql.Add('select * from Sotrydnik where upper('+fam+') Like...

20
105 / 104 / 9
Регистрация: 10.01.2010
Сообщений: 392
24.05.2010, 17:46
какая ошибка и пожалуйста весь текст события дайте, так как это просто кусок непонятно какого запроса.
0
5 / 5 / 0
Регистрация: 09.01.2010
Сообщений: 161
24.05.2010, 18:21  [ТС]
ошибка вот такая

а это и есть весь код кнопки
Миниатюры
Как осуществить поиск по данным?  
0
1866 / 1186 / 192
Регистрация: 27.03.2009
Сообщений: 4,603
24.05.2010, 18:24
работа с dbf так не производится. и я вобще не могу понять что тут делается. что за dbgrid, откуда что берется и куда должно попасть
0
5 / 5 / 0
Регистрация: 09.01.2010
Сообщений: 161
24.05.2010, 18:28  [ТС]
я просто с БД не работал в делфи раньше, только в С++, вот по такому примеру сделал=)
0
105 / 104 / 9
Регистрация: 10.01.2010
Сообщений: 392
24.05.2010, 18:42
Короче, пробую восстановить постановку задачи:
Я в Грид1 кликаю на поле с фамилиями, нажимаю кнопку "Поиск" и вуаля - из какой-то там таблицы в Грид2 выводятся данные об этом человеке?
Если так, тогда вот:
Delphi
1
2
3
4
5
6
query1.Close;
query1.sql.Clear;
query1.Params.CreateParam(ftstring,'str',ptinput);
query1.Params.ParamByName('str').Value:=table1.fieldbyName('Поле с фамилиями');
query1.SQL.Add('Select * from "та таблица, где данные о человеке" where "Поле с фамилией" =:str');
query1.Open;
Query1 нужно подключить к Грид2 и все, будет чудо
1
5 / 5 / 0
Регистрация: 09.01.2010
Сообщений: 161
24.05.2010, 19:27  [ТС]
у меня в этой строчке в конце
query1.Params.ParamByName('str').Value:= table1.fieldbyName('FIO_STUD');

выдает такую ошибку: Incompatible typs: 'Variant' and TField
0
105 / 104 / 9
Регистрация: 10.01.2010
Сообщений: 392
24.05.2010, 19:29
Delphi
1
table1.fieldbyName('Поле с фамилиями').asstring
просто писал сразу, а не копировал, сори
1
5 / 5 / 0
Регистрация: 09.01.2010
Сообщений: 161
24.05.2010, 19:39  [ТС]
сделал как вы сказали, поиск че то не происходит, я выложил все то, как вы мне сказали, но..
Вложения
Тип файла: rar 1.rar (342.8 Кб, 46 просмотров)
0
105 / 104 / 9
Регистрация: 10.01.2010
Сообщений: 392
24.05.2010, 21:12
сейчас посмотрим, что там
0
5 / 5 / 0
Регистрация: 09.01.2010
Сообщений: 161
24.05.2010, 21:57  [ТС]
ну как?=)
0
 Аватар для arni
914 / 879 / 62
Регистрация: 06.01.2010
Сообщений: 2,367
Записей в блоге: 6
24.05.2010, 22:08
Цитата Сообщение от настрадамус Посмотреть сообщение
Delphi
1
2
3
4
5
6
7
8
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
                Query1.SQL.Clear();
                Query1.SQL.Add('Select * from 1.dbf where FIO_STUD='+Edit1.Text+'');
                Query1.Active:= false;
                Query1.Active:= true;
                Edit1.Clear();
end;
вроде запускается, но при нажатии на кнопку все виснит и появляется ошибка
здесь элементарно не хватает кавычек, которыми обрамляются строковые литералы.
чтобы убедиться вызовите showmessage(Query1.SQL.Text) сразу после Query1.SQL.Add(...

Кроме того, бесполезно Query1.Active:= false; ставить третьей строкой, т.к. при изменении текста запроса набор данных автоматически закрывается. Место данной операции в самом начале.
0
5 / 5 / 0
Регистрация: 09.01.2010
Сообщений: 161
24.05.2010, 22:12  [ТС]
ну я не знаю просто как с БД работать в делфи, я взял пример из с++
0
 Аватар для arni
914 / 879 / 62
Регистрация: 06.01.2010
Сообщений: 2,367
Записей в блоге: 6
24.05.2010, 22:14
Цитата Сообщение от настрадамус Посмотреть сообщение
ну я не знаю просто как с БД работать в делфи, я взял пример из с++
а что, в С++ не нужно сроковые литералы кавычками обрамлять? те же самые подходы и там.
0
5 / 5 / 0
Регистрация: 09.01.2010
Сообщений: 161
24.05.2010, 23:15  [ТС]
ну это понятно, я написал код, вроде ошибок не выдает, а искать не ищет!!! вот в чем проблема
0
 Аватар для arni
914 / 879 / 62
Регистрация: 06.01.2010
Сообщений: 2,367
Записей в блоге: 6
25.05.2010, 08:35
Цитата Сообщение от настрадамус Посмотреть сообщение
ну это понятно, я написал код, вроде ошибок не выдает, а искать не ищет!!! вот в чем проблема
не верю, что вот это
Delphi
1
2
Query1.SQL.Add('Select * from 1.dbf where FIO_STUD='+Edit1.Text+'');
Query1.Active:= true;
будет работать и не выдавать ошибок
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
25.05.2010, 09:03
arni, могут быть проблемы с названием таблицы, такие, как у вас в примере, надо брать в одинарные кавычки
0
 Аватар для arni
914 / 879 / 62
Регистрация: 06.01.2010
Сообщений: 2,367
Записей в блоге: 6
25.05.2010, 09:09
Цитата Сообщение от Lord_Voodoo Посмотреть сообщение
arni, могут быть проблемы с названием таблицы, такие, как у вас в примере, надо брать в одинарные кавычки
моих примеров здесь нет, только цитаты чужого в целях иллюстрации гнилых мест
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
25.05.2010, 09:20
arni, ну хорошо, извиняюсь, в коде, что вы привели в вашем посте
0
1866 / 1186 / 192
Регистрация: 27.03.2009
Сообщений: 4,603
25.05.2010, 09:21
посмотрел я твой пример. все dbgrid выводят данные из таблиц. а куда ты будешь выводить данные при поиске? добавишь новый dbgrid или всеже один из тех что есть должен это выводить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.05.2010, 09:21
Помогаю со студенческими работами здесь

Поиск символа в строке. Как осуществить поиск в обратном направлении
Всем доброго времени суток. Вопрос такой: как осуществить поиск в обратном направлении, т.е. я в строке (a(bc)) нахожу первую закрытую...

Как осуществить поиск в документах
Когда то у меня стоял Windows XP и там при поиске (стандартном) была такая опция поиск непосредственно В документах (текстовых), а в...

Как осуществить поиск по темам
Как осуществить поиск тем

Как осуществить поиск в DataSet ?
Надо найти определенную запись в DataSet. Или как создать новый DataSet источником для которого будет старый DataSet?

Как осуществить поиск в DataGrid?
Здравствуйте! Мне очень понадобилось реализовать поиск в базе данных. База данных у меня грузится в datagrid: public...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru