Форум: "Базы";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];
ВнизНу вот и грабли с IBX Найти похожие ветки
← →
Nexel (2004-12-24 07:23) [0]Ввожу в TIBQuey.SQL Следующее
SELECT
"DATE",
KZAK,
NDS,
NOMSER,
NOMSERT,
PP,
PROIZV,
RESTS,
SUM(
PRICE+
((PRICE/100)*:Natz)+
((PRICE/100)*:Stav)+
((PRICE/100)*:Skid)
) AS CLIPRICE
FROM PRICE
GROUP BY "DATE",KZAK,NDS,NOMSER,NOMSERT,PP,PROIZV,RESTS
ORDER BY PP ASC
Соответственно три параметра
Natz
Stav
Skid
И при попытке определить поля получаю
Dynamic SQL Error
Sql Error Code = -607
Array/Blob/Date data types not allowed in arithmetic
Пробовал для параметров и ftBCD и ftFlat и ftCurrency бестолково
если послать запрос задав явно значения Natz,Stav,Skid т.е. убрав параметры заменив их на конкретные числа то все замечательно.... в чем мой косяк может заключаться?
← →
stud © (2004-12-24 09:20) [1]а каким образом присваиваеш значения параметрам?
← →
Nexel (2004-12-24 09:24) [2]Да собственно пока еще не каким косяк застопоорился на попытке создать поля а присвоение я думаю надо делать стандартным образом
ParamByName("...").As...:=...;
← →
Johnmen © (2004-12-24 09:36) [3]>застопоорился на попытке создать поля
Какие поля ?
← →
stud © (2004-12-24 09:37) [4]так и делай
> ParamByName("...").As...:=...;
а потом скажи результат. поля тут при чем?
← →
Val © (2004-12-24 10:55) [5]Автор, покажи код пожалуйста. И покажи свой "косяк".Словесное описание проблемы очень хромает.
← →
sniknik © (2004-12-24 12:02) [6]давайте опишу подробнее (хотя я и не автор ;о), просто у меня получилось такую ошибку повторить)
ошибка тип
EOleException :
Dynamic SQL Error
SQL error code = -607
Array/BLOB/DATE data types not allowed in arithmetic
на запросе с параметром (упрощено)
SELECT FIELD1 * :Natz FROM TABLE1
(если параметр заменить на цифру в самом запросе то естественно проходит нормально)
конект через ADO, OLEDB ZStyle провайдер
строка подключения
Provider=IBOLE.Provider.v4;Password=masterkey;Persist Security Info=True;Data Source=D:\DB\CONMAN.GDB
параметр задавал так (пробовал в уже готовой, там именно так и задается, менять пробовать "стандартно" естественно ломает ;)
InPar:= 2;
Parameters.CreateParameter(Copy(sPar, 2, 9), ftInteger, pdInput, 0, InPar);
(для такого задания предварительно изменяется строка запроса с параметром, имя меняется на вопрос, получается "SELECT FIELD1 * ? FROM TABLE1", это правильная форма со всеми другими OLEDB провайдерами работает, только с IB (вернее FireBird он у меня, у него и видел) такая ошибка)
p.s. не надо меня посылать на сайт интербейса ;о)) посылайте автора, меня это не интересует (вернее интересно постольку поскольку но не настолько чтобы разбиратся, с IB не работаю)).
← →
Nexel (2004-12-24 14:00) [7]Да елки палки по поводу полей это Fields то и значит пытаюсь создать поля это двойной щелчек по TIBQUERY и попытка Add Fields при чем тут код о коде речи еще и нет ошибка вылетает именно на этом уже(на попытке создать объекты-поля):o) (может я конечно и не прав что я их пытаюсь их создать...??? но думаю это делать нужно что то мне подсказывает(шутка)) даже если не создавать объекты поля... один фиг инициализация запроса вот код
With QPrice Do
Begin
ParamByName("Natz").AsCurrency:=1;
ParamByName("Stav").AsCurrency:=1;
ParamByName("Skid").AsCurrency:=1;
End;
Текущий тип у Natz,Skid,Stav ftCurrency и опять та же ошибка блин.... удолбался я уже может дельфа и IB такие запросы вообще не умеет исполнять??? сомниваюсь я.... что не умеет... значит косяк у меня где то... но где???? Да кстати Delphi7 IB 6.5 пробовал запрос послать напрямую все идеально отрабатывается.... эхххх....
QPrice.Open;
← →
Nexel (2004-12-24 14:03) [8]Млин вот так вот
With QPrice Do
Begin
ParamByName("Natz").AsCurrency:=1;
ParamByName("Stav").AsCurrency:=1;
ParamByName("Skid").AsCurrency:=1;
Open;
End;
← →
Sergey13 © (2004-12-24 14:21) [9]Шаманство конечно, но если попробовать
(:Natz*(PRICE/100))+
может *: плохо парсится. 8-)
← →
Nexel (2004-12-24 14:41) [10]Да нет это я уже тоже пробовал блин.... задолбался вот и наговорили типа с IBX все круто и клево и вообще зашибисть а на элементарном запросе такой косяк вывалился.... мдя все таки я думаю от BDE рано отказываться еще пока, но все 200% это дело в ПАРАМЕТРАХ УБЕРАЛ ИХ ВСЕ РАБОТАЕТ и одного не могу понять при чем тут массивы, блобы и тем более даты?????
← →
Sergey13 © (2004-12-24 14:48) [11]2[10] Nexel (24.12.04 14:41)
А IBX ты апдейтил? На ibase.ru можно найти.
← →
Nexel (2004-12-24 15:00) [12]Какой текущий релиз IBX?
← →
Nexel (2004-12-24 15:03) [13]И сли можно прямую ссылочку плиз на IBX компонент просто баша уже не варит искать его тама
← →
Sergey13 © (2004-12-24 15:04) [14]http://ibase.ru/components.htm
7.08 для Д7 с СП1
← →
Nexel (2004-12-24 15:12) [15]Блинство а SP1 для D7 где нарыть можно у меня просто D7 стоит... елки палки...
← →
Nexel (2004-12-24 15:57) [16]Та же хренотень выскаивает судя по всему косячина еще какая...
← →
Zacho © (2004-12-25 11:38) [17]Nexel (24.12.04 15:57) [16]
Да просто нельзя использовать параметры в таких конструкциях и IBX тут не причём. Нельзя сделать SELECT :PARAM .. или SELECT FIELD*:PARAM .. и всё тут. Не работает так IB. Параметры в SELECT можно использовать в условиях.
← →
Vemer © (2004-12-25 13:22) [18]Сделай ХП в базе и вызывай ее в IBQuery типа
Select * From
My_StoredProc(:Natz, :Stav, :Skid);
А внутри ХП делай с параметрами что хочешь )).
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.036 c