Главная страница
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.011 c
4-35128
Great_Lesh
2003-04-13 07:20
2003.06.12
Запуск файла/процесса от имени другого пользователя


3-34694
off
2003-05-15 07:19
2003.06.12
Суммирование по БД.


1-34880
blackgrin
2003-05-31 19:34
2003.06.12
Путь запуска программы


1-34818
Mishenka
2003-06-02 19:17
2003.06.12
Как получить пиктограмму к программе?


1-34918
Cossys
2003-05-29 16:55
2003.06.12
Как в компоненте DateEdit проверить, что дата не введена