Форум: "Базы";
Текущий архив: 2006.04.30;
Скачать: [xml.tar.bz2];
ВнизDelphi+SQL. Как добавить запрос к уже выполненому запросу Найти похожие ветки
← →
alk © (2006-03-06 11:57) [40]msguns
спасибо
← →
alk © (2006-03-06 12:10) [41]ко мне так не чего и не пришло кинь пожалуйста еще вот на этот ящик
alk20@yandex.ru
← →
Sergey13 © (2006-03-06 12:21) [42]2[38] alk © (06.03.06 11:50)
Понял. ИБ так вроде совсем не пропускает. Надо вводить еще один параметр-флаг на каждое поле. Типа
....and ((:F_kod_avt=0) or (:F_kod_avt=1 and avtors.kod_avtora=:kod_avt))
где флаг :F_kod_avt присваивать в зависимости от пустоты условия 0 или 1
← →
alk © (2006-03-06 12:24) [43]Sergey13
просто где раньше было
((:kod_avt is null) or (avtors.kod_avtora=:kod_avt))")
сделать
((:F_kod_avt=0) or (:F_kod_avt=1 and avtors.kod_avtora=:kod_avt))
← →
Sergey13 © (2006-03-06 12:29) [44]Да. И присвоить параметры ессно.
← →
Виталий Панасенко (2006-03-06 12:37) [45]FIBPLus, если мне память не изменяет, сами перестраивают запрос вида PARAM=NUL в PARAM is NULL
← →
alk © (2006-03-06 12:38) [46]Sergey13
говорит что f_kod_avt не найден)))
DataModule2.BOOK.Close;
DataModule2.BOOK.SQL.Clear;
DataModule2.BOOK.SQL.Text:="select *";
DataModule2.BOOK.SQL.Add("from Book, avtors,izdatelstva,litra");
DataModule2.BOOK.SQL.Add("where book.kod_izdatelstva=izdatelstva.kod_izdatelstva and");
DataModule2.BOOK.SQL.Add("book.kod_tip_litra=litra.kod_tip_litra and book.kod_avtora=avtors.kod_avtora");
DataModule2.BOOK.SQL.Add("and ((:f_kod_avt=0) or (:f_kod_avt=1 and avtors.kod_avtora=:kod_avt))");
DataModule2.BOOK.SQL.Add("and ((:f_kod_izd=0) or (:f_kod_izd=1 and avtors.kod_avtora=:kod_izd))");
if DBLookupComboBox1.Text<>"" then
begin
DataModule2.BOOK.Params.ParamByName("kod_avt").AsInteger := DBLookupComboBox1.KeyValue;
DataModule2.BOOK.Params.ParamByName("f_kod_avt").AsInteger:=1;
end
else
begin
DataModule2.BOOK.Params.ParamByName("kod_avt").Clear;
DataModule2.BOOK.Params.ParamByName("f_kod_avt").AsInteger:=0;
end;
if DBLookupComboBox2.Text<>"" then
begin
DataModule2.BOOK.Params.ParamByName("kod_izd").AsInteger := DBLookupComboBox2.KeyValue;
DataModule2.BOOK.Params.ParamByName("f_kod_izd").AsInteger:=1;
end
else
begin
DataModule2.BOOK.Params.ParamByName("kod_izd").Clear;
DataModule2.BOOK.Params.ParamByName("f_kod_izd").AsInteger:=0;
end;
DataModule2.BOOK.Open;
← →
alk © (2006-03-06 12:43) [47]Виталий Панасенко
а это куда вставлять или вообще что это?
← →
Sergey13 © (2006-03-06 12:52) [48]Перед
if DBLookupComboBox1.Text<>"" then
попробуй вставить
DataModule2.BOOK.Prepare;
Зачем ты запрос в коде пишешь?
← →
Виталий Панасенко (2006-03-06 12:55) [49]www.devrace.com
← →
alk © (2006-03-06 12:58) [50]Sergey13все равно f_kod_avt не найдено
← →
msguns © (2006-03-06 13:19) [51]>alk © (06.03.06 12:10) [41]
Отправил на alk20@yandex.ru
← →
alk © (2006-03-06 13:22) [52]msguns
спасибо еще раз))
← →
alk © (2006-03-06 13:34) [53]а можно выслать тоже самое только в зипе, а то у меня винрара нету))) и поставить не откуда
← →
msguns © (2006-03-06 14:02) [54]>alk © (06.03.06 13:34) [53]
>..поставить не откуда
http://www.rarlab.com/download.htm
← →
alk © (2006-03-06 14:23) [55]msguns
там нет не одной команды sql, и не чего такого что могло бы мне помочь
← →
Sergey13 © (2006-03-06 14:31) [56]2[55] alk © (06.03.06 14:23)
BOOK - это что? Квери или датасет? Почему не пропишешь запрос в дизайне? В кверике вообще сразу после написания можно Params посмотреть в инспекторе.
← →
alk © (2006-03-06 14:38) [57]book это квери, запрос уже прописал в дизайне. а в кверике появляеться 5 параметров, kod_avt,kod_izd, f_kod_avt=1,f_kod_avt=1,f_kod_izd=0,F_kod_izd=0
← →
msguns © (2006-03-06 14:43) [58]>alk © (06.03.06 14:23) [55]
>там нет не одной команды sql, и не чего такого что могло бы мне помочь
;)
Там моря сиквеля: в модуле данных, в модуле-форме Child.
Поиск же реализован в универсальной библиотеке MsLibr/DBServ
← →
alk © (2006-03-06 14:47) [59]msguns
там сделан поиск, а мне бы надо не поиск а фильтрацию
← →
Sergey13 © (2006-03-06 14:50) [60]2[57] alk © (06.03.06 14:38)
> запрос уже прописал в дизайне. а в кверике появляеться 5 параметров, kod_avt,kod_izd, f_kod_avt=1,f_kod_avt=1,f_kod_izd=0,F_kod_izd=0
Вот прям так имя параметра "f_kod_avt=1"? Попробуй в тексте запроса отделить имена параметров пробелом от всего. Или вместо :f_kod_avt=1 поставь 1=:f_kod_avt. Уменя в БДЕ помнится подобный глюк был, в ИБХ не помню.
← →
alk © (2006-03-06 14:56) [61]Sergey13
я отделил наименования параметров стали нормальными, осталось 4 параметров и нифига все равно не работает, ошибки не пишет но и результата нет. А если оставлять 6 параметров то запрос работает, но только на авторов на издательства не работает
← →
Sergey13 © (2006-03-06 15:06) [62]Ну так если запрос осталсятаким же, не мудрено. 8-)
DataModule2.BOOK.SQL.Add("and ((:f_kod_avt=0) or (:f_kod_avt=1 and avtors.kod_avtora=:kod_avt))");
DataModule2.BOOK.SQL.Add("and ((:f_kod_izd=0) or (:f_kod_izd=1 and avtors.kod_avtora=:kod_izd))");
← →
alk © (2006-03-06 15:12) [63]Sergey13
))) да я нашел, он был таким))) причем работает когда 6 параметров, то есть 2 f_kod_avt и 2 f_kod_izd. если по одному оставить тоработать не будет)))
← →
alk © (2006-03-06 15:13) [64]и еще один вопросик, а как сделать так чтобы он выводил все книги в названии которых встречаеться введеная комбинация, тоесть введена буква а и он выводит все книги в которых есть буква а. какбы *а*. вот так))) как это можно сделать???
← →
Sergey13 © (2006-03-06 15:27) [65]2[64] alk © (06.03.06 15:13)
book_name LIKE "%А%"
Но это будет возможно очень медленно. Не забыть привести к одному регистру.
← →
alk © (2006-03-06 15:29) [66]Sergey13
Отромаднейшее тебе спасибо)))
Просто вселенского масштаба, так глядишь и уму разуму научусь)))
← →
Виталий Панасенко (2006-03-06 17:02) [67]
> alk © (06.03.06 15:29) [66]
> Sergey13
> Отромаднейшее тебе спасибо)))
> Просто вселенского масштаба, так глядишь и уму разуму научусь)))
Только перед этим не мешало бы чего-нибудь из теории почитать. А то положишь массу народу своими постами и долбанием мозгов. Как в анекдоте о сельской семье. Решили очередного ребенка завести, дождались темноты и начали делать.А так как в селе, то спятт на печке.Разбушевались, аж кирпич из печи выскочил и вниз, к остальным детям упал."Мам, пап !. Вы пока одного сделаете, троих убьете, нах..!"
← →
msguns © (2006-03-06 17:25) [68]>Виталий Панасенко (06.03.06 17:02) [67]
>Только перед этим не мешало бы чего-нибудь из теории почитать
Я ему выложил практически готовый проект (в интерфейсной части на 90%) с ТЗ, структурой БД с комментариями.. Там есть даже "каркас" фильтра, не реализованный пока, но идеологически продуманный..
А он прочитал его по диагонали (скорее всего просто поиском по SQL*), даже не обратив внимание на решение.
А ты говоришь о чтении каких-то мануалов и хэлпов ;(
Страницы: 1 2 вся ветка
Форум: "Базы";
Текущий архив: 2006.04.30;
Скачать: [xml.tar.bz2];
Память: 0.58 MB
Время: 0.011 c