imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 15.07.2004, 21:33     # 1
steelik
Member
 
Аватар для steelik
 
Регистрация: 30.09.2002
Сообщения: 320

steelik Путь к славе только начался
Поиск по базе данных в дельфи

Прошу помочь разобраться с поиском по бд.
Разрабатываю простенькую бд для агенства недвижимости. Выбрал Paradox. Ниже представлена таблица для примера:
Необходимо осуществить поиск сразу по нескольким критериям. Для этого у нас имеется три EditBox.
Задаём параметры для поиска, размер должен быть 170 и место расположение Moscow, жмём на кнопку и получаем результат.

+--------+------------+--------+
| name | location | size |
+--------+------------+--------+
| Peter | Moscow | 170 |
| Mike | Sochi | 150 |
| Kate | Adler | 190 |
+--------+------------+--------+

Есть небольшой опыт работы с SQL.

Не совсем понимаю, как организовать запрос для TQuery, как пробежаться по всем полям, как узнать количество полей таблице и как наконец вывести её, да хотя бы в ту же DBGrid или что посоветуете. Заранее благодарен.
steelik вне форума  
Старый 16.07.2004, 00:51     # 2
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
Ищи мануалы по использованию в дельфи технологии ADO , в дельфе закладка в компонентах есть такая - как раз заточка под локальные БД. Есть там такой компонент TADOQuery - это основной инструмент для добавления, изменения, удаления. Для визуализации , т.е. отображения таблиц пользуется DBGrid, ну и там еще тебе понадобится несколько компонентов для коннекта к БД - TADOConnect, и для связи таблицы с запросом TDataControl. Советую почитать (скачать) "Библию Дельфи" на _http://vr-online.ru
/7y3uK вне форума  
Старый 16.07.2004, 12:20     # 3
ЕЖ
::VIP::
 
Регистрация: 19.03.2004
Сообщения: 1 329

ЕЖ Бог с наворотамиЕЖ Бог с наворотами
ЕЖ Бог с наворотамиЕЖ Бог с наворотами
По скольку ты решил пользовать Paradox, то для соединения с БД тебе подойдет либо ADO, либо BDE.

Для отображения всех данных таблицы можно использовать как запрос (TQuery), так и просто таблицу (TTable). Все они наследуются от одного предка (TDataSet). В любом случае ставь еще компонент TDataSource и у его в свойстве DataSet выбирай твой первый компонент. Потом кладешь на форму TDBGrid и в свойстве DataSource ставишь свой компонент TDataSource.

Для TQuery и TTable укажи алиас БД в свойстве DatabaseName.

Если пользуешь TQuery:
в свойство SQL загоняешь свой запрос типа "SELECT * FROM Table", в случае Paradox имя таблицы указывай с расширением (mytable.db).
Потом Active = true

Если TTable:
просто выбираешь имя таблицы в TableName и тоже Active = true

У всех наследников TDataSet есть свойство FieldCount - количество полей.
На открытом TDataSet RecordCount - количество записей.
RecNo - текущая запись.

Чтобы пробежаться по всем записям конструкция что-то типа:

Table1.First();
while not Table1.Eof do
begin
chislo := Table1.FieldByName(...).AsInteger;
stroka := Table.FieldByName(...).AsString;
Table1.Next();
end

Для поиска записей по значениям у TDataSet есть метод Locate
Там указываешь поле(поля) по каким искать, значение(я) в Variant(или массив Variant'ов) и параметры поиска (напр. различать ли строчные/прописные буквы). В общем всё есть в Help'е...

Последний раз редактировалось ЁЖ; 16.07.2004 в 12:23.
ЕЖ вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 22:04.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.