Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.03.2012, 15:37   #1
phasha
Форумчанин
 
Регистрация: 24.03.2011
Сообщений: 130
Вопрос поиск в базе данных Delphi 7

Код:
procedure TForm1.btn3Click(Sender: TObject);
var str:string; int:Integer;
begin

if rb1.Checked  then  int:=0 else
if rb2.Checked  then int:=1 else Exit;
str:=edit2.Text;

    tbl1.First;
while not Tbl1.EOF do begin
 if Tbl1.Fields[int].AsString = str then begin
 ShowMessage(tbl1.fieldbyname('NFIO').AsString+#13
 +tbl1.fieldbyname('NSTSTUS').AsString+': '
 +Tbl1.FieldByName('NPHONE').AsString);
if not chk1.Checked then Break;
end;
 Tbl1.Next;
 
end;
end;
как сделать так чтоб искала прога не точное значение?например в поиске вбивать не вася васечкин а вася или василий, препод сказал что нужно использовать setkey и nearest в таблице, эксперементирую и пока прогресса нет((
phasha вне форума Ответить с цитированием
Старый 04.03.2012, 15:54   #2
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

юзай TADOQuery
напиши SQL запрос. чтобы выдрать не конкретное значение а вхождение в SQL есть функция LIKE
пример:
допустим ты бросил TADOQuery на форму, настроил его, указал коннект через TADQConnection со своей СУБД, обозвал например query
и теперь формируешь запрос:

query.sql.clear;//чистим на всякий пожарный)))
query.sql.add('select * from [твоя таблица] where [поле] like "%трололо%"'); возможно с синтаксисом ошибся правда (кажется не процент а звездочка иль наоборот.... и кажется одинарная ковыка в лайке но хотя не помню точно
далее
query.active:=true;//выполнить запрос
for i:=0 to query.recordcount-1 do
begin
a:=query.fields.fields[0].asstring;
query.next;
end;

до очепяток не придерайтесь - писал на коленке. потестить не могу - но как то так
Писано по д'Эльфийски

Последний раз редактировалось Лубышев; 04.03.2012 в 16:04.
Лубышев вне форума Ответить с цитированием
Старый 04.03.2012, 16:01   #3
phasha
Форумчанин
 
Регистрация: 24.03.2011
Сообщений: 130
По умолчанию

мы еще до запросов не до шли=))так что пока понятия об этом не имею,это примерно должно выглядеть так
Код:
table1.setkey;
table1.fieldbyname('name').asstring:='вася';
table1.gotonearst;
вот не могу понять как применить это(
phasha вне форума Ответить с цитированием
Старый 04.03.2012, 16:07   #4
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

кстати если тебе надо совсем уж такое что типа найти слова синонимы то надо в базе еще создать таблицу синонимии. если ты хочешь ввести в поле например "ИРЧП" а он тебе в ответ выдал "Индекс развития человеческого потенциала"
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Старый 04.03.2012, 16:08   #5
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

стучи в скайп мне иль в аську. сча сделаем побыстрому все что тебе надо)))) (бескорыстно)
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Старый 04.03.2012, 16:10   #6
phasha
Форумчанин
 
Регистрация: 24.03.2011
Сообщений: 130
По умолчанию

а как тогда скрыть нежелательные столбцы? точнее не выводить в TDBGrid?
phasha вне форума Ответить с цитированием
Старый 04.03.2012, 16:12   #7
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

эм.... я вообще не люблю юзать TADOTable и все сеточки которые к ней коннектятся. все решается на уровне SQL запросов. как только ты научишься их юзать - ты поймешь всю их прелесть))))
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Старый 04.03.2012, 16:14   #8
phasha
Форумчанин
 
Регистрация: 24.03.2011
Сообщений: 130
По умолчанию

Цитата:
Сообщение от Лубышев Посмотреть сообщение
стучи в скайп мне иль в аську. сча сделаем побыстрому все что тебе надо)))) (бескорыстно)
извеняюсь но ни чего из этого у меня нет
phasha вне форума Ответить с цитированием
Старый 04.03.2012, 16:20   #9
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

ладно жди. сча на коленке нарисую
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Старый 04.03.2012, 16:52   #10
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

Вот держи рабочий пример и ковыряй его
Вложения
Тип файла: zip base.zip (364.9 Кб, 170 просмотров)
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск по базе данных royun БД в Delphi 10 21.12.2011 12:35
Поиск по базе данных WestDragon БД в Delphi 8 20.08.2011 19:55
Delphi. Поиск по базе данных Access... hohol90 Помощь студентам 1 08.06.2010 08:14
Поиск по базе данных ERASERROR БД в Delphi 4 14.03.2008 16:34