Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.12;
Скачать: CL | DM;

Вниз

Помогите с поиском записей в БД!   Найти похожие ветки 

 
Troy_piter   (2003-05-24 18:39) [0]

Проблема такая: есть БД Paradox, необходимо сделать поиск по значению поля, задаваемому в Edite. Насколько я понимаю, код должен быть примерно таким:
Query1.SQL.Add("SELECT * FROM <Имя таблицы> WHERE <Имя поля> = "+Edit1.Text";");
Но это не все, нужно еще сделать преобразование типов, что ли... Так вот, собственно, и вопрос: а как его сделать? Или, может быть, посоветуете еще какой-нибудь способ? Если можно, поподробнее, пожалуйста! Буду очень благодарен!!!


 
Ovsjanikov   (2003-05-24 19:09) [1]

Не глумись !

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

Если ты тянешь с сервака (или делаешь выборку локально) всех данных, то для этого у TQuery есть свойство Filter, только нужно включить свойство filtered:=true и в foNoPartialCompare:=false
Дальше просто - по изменению Edit1 (OnChange) пишешь следующий код:

if Edit1.text<>"" then
begin
Query1.Filter:=Edit1.Text+"*";
end else Query1.Filter:="";

в этом случае во время писанины пользователя в Edit"е в Query будут отбираться данные. Если у тебя пользователь написал строку в Edit а поиск (выборка) по кнопке), тогда можешь запихнуть этот код в кнопку, и кстати если нужны однозначные записи то * надо убрать и foNoPartialCompare:=true.

А если не по кнопке, то я не пойму: Зачем запихивать отбор данных в запрос?, этоже не удобно когда будешь переносить в сеть. Получается ты каждый раз заставляешь сервак перегонять все записи когда юзер пишет значение. А так ты один раз отбираешь, а потом локально выбираешь, понял ?

Если не понял - пиши,
С уважением,
Овсяников Максим.


 
Troy_piter   (2003-05-25 00:56) [2]

Все понял, спасибо!
БД локальная, так что с сетью заморочек нет =)
Просто задание такое - курсовик нужно сделать - чтобы все запросы шли через SQL... Не понимаю, зачем в данном случае это нужно, да и зачем вообще реляционная БД, ну да ладно - задание есть задание... =(
Еще раз спасибо! Удачи! ;)



Страницы: 1 вся ветка

Текущий архив: 2003.06.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.016 c
1-34800
default
2003-06-01 20:46
2003.06.12
Дробные числа


1-34779
MegaVolt
2003-06-02 11:24
2003.06.12
Как передавать параметры из модальной формы в основную прогу?


1-34842
Jaxtor
2003-05-29 17:18
2003.06.12
Как обойти при отладке модули Ehlib


14-34984
CinCinNut
2003-05-26 12:53
2003.06.12
Что лучше?


14-35005
Knight
2003-05-26 11:12
2003.06.12
Давайте разбёрёмся с принтером!