Форум: "Базы";
Текущий архив: 2003.06.12;
Скачать: [xml.tar.bz2];
ВнизПомогите с поиском записей в БД! Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c