Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];

Вниз

FibDataset+parameters?   Найти похожие ветки 

 
denis24   (2005-02-15 17:33) [0]

подскажите пожалуста вгде грабли?
В датасете пишу запрос

select a.*,
count(b.id) as bb
count(c.id) as cc
count(d.id) as dd

from tblmain a
LEFT OUTER JOIN tblspr1 b on (a.idmain=b.idmain)
LEFT OUTER JOIN tblspr2 c on (a.idmain=c.idmain)
LEFT OUTER JOIN tblspr3 d on (a.idmain=d.idmain)

where
(:par_flag=1 and b.field1 in (:p1)) or :par_flag3<>1



Передаю параметры так
ParamByName("par_flag").AsInteger:=1;
ParamByName("p1").asstring:="10,11,12,13,14,15";

Так вот если параметр содержит больше цифр то выскакивает ошибка
"FibDataset.selectQuery....
SqlError code-303
conversion error from string "10.11.12.13.14.15"
Именно точки!

Хотя я же передаю через запятую.Если одно число в параметре то все ок.Если два то тоже.Имеено если больше 2-3.


 
Johnmen ©   (2005-02-15 17:36) [1]

Тебе уже говорили и не раз, что без прочтения букваря вопросы задавать ЗАПРЕЩЕНО !


 
Vlad ©   (2005-02-15 18:03) [2]


> denis24   (15.02.05 17:33)  


> and b.field1 in (:p1))

нельзя так делать. Вернее, если одно значение - то можно.
Иначе, ты пытаешься сделать макроподстановку, IB естественно это не понимает.
Короче говоря: один параметр - одно значение.
Если кол-во значений внутри in() заранее неизвестно, то придется формировать текст SQL запроса динамически.


 
sniknik ©   (2005-02-15 18:04) [3]

Johnmen ©   (15.02.05 17:36) [1]
двумя руками и одной ногой за! (больше не поднять, щас сяду буду + 1ой ногой за! ;о)))

и тему опять убого оформмл... ;о))


 
denis24   (2005-02-15 18:35) [4]

Vlad ©   (15.02.05 18:03) [2]
Спасибо.


 
Johnmen ©   (2005-02-15 21:58) [5]

>sniknik ©  (15.02.05 18:04) [3]

Причем, когда он это исправит, работать всё равно не будет...
Вобщем редкое сочетание лени, упрямства и неуважения к участникам форума...:(


 
Deniz   (2005-02-16 06:43) [6]

Есть очень оригинальное решение, замена field in (:par) на like
select ...
where :par like "%~" || field || "~%"
с клиента в параметр передавать ~10~11~12~16~21~


 
Danilka ©   (2005-02-16 10:20) [7]

[6] Deniz   (16.02.05 06:43)
Угу. Извратов, конечно, дофига можно придумать, но зачем сознательно тормозить и перегружать сервер СУБД?


 
denis24   (2005-02-16 11:14) [8]

Johnmen ©   (15.02.05 21:58) [5]
И в чем же выразилось мое неуважение к вам в частности?
То что мой вопрос был о передаче параметра в запрос   или о  динамическом формированиии строки запроса?Если для вас это неуважение то ,господин Johnmen © и еще несколько товарищей,я не понимаю сути общения на форуме и для чего он существует.
Получается для блистания Вами на форуме ,а не для задавания вопросов менее опытними програмистами и обмена опытом.


 
sniknik ©   (2005-02-16 11:41) [9]

> И в чем же выразилось мое неуважение к вам в частности?
не догадываешся?
ни разу не попадал на разговор с тем, кто твои слова полностью игнорирует? (а ведь он тебе не раз говарил что делать, что действительно бы помогло, раз и навсегда. был свидетелем ;)

со своей стороны вижу неуважение в намеренном обмане (меня лично), тема "FibDataset+parameters?" вроде как подразумевает обсуждение самого движка/датасета в приложении к параметрам (ну типа что, как работает, что это вообще такое)
а захожу внутрь вижу вопрос (краткое содержание) "не знаю как задать параметр, и вообще что такое параметр"...
да если бы ты правду в заголовке написал я бы сюда и не полез бы, неинтересно, не моя область (IB, это вообще не мое, а FIB это вообще что такое? разве есть такая база/sql сервер?)

вот за это ты и отдуваешся (не в буквальном смысле, тебе просто пишт правду о своем отношении)


 
Johnmen ©   (2005-02-16 11:44) [10]

>denis24   (16.02.05 11:14) [8]

Неуважение проявляется в НЕЖЕЛАНИИ корректно задавать вопросы, в НЕЖЕЛАНИИ прочитать широкодоступные АЗЫ, ОСНОВЫ и БАЗОВЫЕ понятия по теме (о чем я уже говорил), а сразу задавать вопросы, которые в своём большинстве захламляют форум и "маскируют" действительно ВОПРОСЫ...
Очень рекомендую
http://ln.com.ua/~openxs/articles/smart-questions-ru.html



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

Форум: "Базы";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.033 c
4-1107533019
andrewman
2005-02-04 19:03
2005.03.20
Как сделать соединение двух компов через модем?


1-1109837887
100а
2005-03-03 11:18
2005.03.20
ShellTreeView


14-1108916899
Девушка
2005-02-20 19:28
2005.03.20
Ethernet-устройства


1-1109764773
Creator___
2005-03-02 14:59
2005.03.20
ADOConnection в ServiceApplication


1-1109922312
Шурик Ш
2005-03-04 10:45
2005.03.20
Из какой ветки реестра берутся рег. настройки нов. пользователя?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский