Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
4-1139050152
DSKalugin
2006-02-04 13:49
2006.04.30
межпроцессное взаимодейтсвие


2-1145013235
Дарья
2006-04-14 15:13
2006.04.30
stringlist


15-1144300895
kaif
2006-04-06 09:21
2006.04.30
Пирамиды. Сколько их?


15-1144384396
Хозяин
2006-04-07 08:33
2006.04.30
11-12 апреля по 1 каналу


1-1143212389
TSM
2006-03-24 17:59
2006.04.30
Rave Report Anchor и растяжка рамки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский