Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.035 c
1-1106117309
Rusan
2005-01-19 09:48
2005.01.30
Как добавить строку в лист Excel


1-1106150726
mr_jack
2005-01-19 19:05
2005.01.30
типы переменных


4-1102446781
Pomestnik
2004-12-07 22:13
2005.01.30
програмно нажать кнопку на приложении


1-1105951254
Mouse_web
2005-01-17 11:40
2005.01.30
Стоимость работ


3-1103787737
mordsit
2004-12-23 10:42
2005.01.30
Установка фильтра (where ... and ...)





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