Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.11.28;
Скачать: CL | DM;

Вниз

Ошибка в запросе   Найти похожие ветки 

 
rnts   (2010-09-06 15:15) [0]

При выполнении кода ниже возникает ошибка:Project raised exception class EDBEngineError with message "Invalid use of keyword. Token: when Line number:1" , хотя в любом SQL-клиенте все работает.

select_sql:=" Select id,npr,(case when npr like ""%/%"" then substr (npr,1,pos(npr,""/"")-1)::integer ";
select_sql:=select_sql+ " else npr::integer  end ) from asu_nizd  ";
orderby_sql:=" order by 3,1 ";

  query1.close;
  query1.sql.Text:= select_sql + orderby_sql;
  query1.open;

Так тоже не получается:
select_sql:= " Select npr,id,cast (case when npr like ""%/%"" then substr(npr,1,pos(npr,""/"")-1) ";
select_sql:= select_sql+" else npr end as integer) from asu_nizd  ";

подскажите, в чем м.б. проблема. СУБД - Informix


 
rnts   (2010-09-06 15:26) [1]

юзаю BDE


 
sniknik ©   (2010-09-06 16:26) [2]

> в чем м.б. проблема.
в параметрах, ты их не видишь но они есть. как суслики. @ солдаты.


 
sniknik ©   (2010-09-06 16:30) [3]

> СУБД - Informix
Routine (pos) can not be resolved


 
rnts   (2010-09-06 21:23) [4]


> sniknik ©   (06.09.10 16:30) [3]
> > СУБД - Informix
> Routine (pos) can not be resolved


да, хранимку, вычисляющую позицию символа в строке - pos, я сам добавил, в информиксе такой функции нет.
sniknik, под параметрами вы имели ввиду tquery.params ?


 
Loginov Dmitry ©   (2010-09-06 23:12) [5]

query1.ParamCheck := False;
?


 
sniknik ©   (2010-09-07 02:57) [6]

> pos, я сам добавил
со своим pos 2 вариант становится рабочим.

> имели ввиду tquery.params ?
внеси первый вариант в режиме разработки, прямо в компонент, да посмотри что получилось.


 
rnts   (2010-09-07 10:06) [7]

Обнаружил, что с RequestLive=false работает. Но мне надо, чтобы query был редактируемым. Попробовал внести текст запроса прямо в компонент - тоже не помогает. Можно ли сделать так, чтобы с requestLive=true запрос работал?
Спасибо!


 
Anatoly Podgoretsky ©   (2010-09-07 10:26) [8]

Раз с RequestLive=false работает, то зачем тебе еще что то?


 
rnts   (2010-09-07 10:29) [9]

Набор данных будет редактироваться пользователем


 
Anatoly Podgoretsky ©   (2010-09-07 10:34) [10]

Ну и пусть редактирует, раз работает.


 
sniknik ©   (2010-09-07 11:01) [11]

> Попробовал внести текст запроса прямо в компонент - тоже не помогает.
это говорилось не потому, что поможет, а чтобы понять что происходит, и что я имел ввиду...
тупой перебор не пойми чего естественно не помогает...

> Но мне надо, чтобы query был редактируемым.
как редактировать вычисленное поле? что должно записаться, куда, и как это должен понять BDE/ODBC/... и т.д. по цепочке, что ты там используешь.

убери вычисления из запроса, сделай их на клиенте, и сам "рули" тем что записывается.


 
Anatoly Podgoretsky ©   (2010-09-07 11:09) [12]

А он что ТАКОЙ запрос пытается редактировать в гриде?
Это он погорячился.
Но меня смущает, что он утверждает, что это работает?



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

Текущий архив: 2010.11.28;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.009 c
15-1282079208
cwl
2010-08-18 01:06
2010.11.28
Графический движок


2-1283756939
03111978
2010-09-06 11:08
2010.11.28
2 таблички нужно свести в одну


2-1283258748
Igor_M
2010-08-31 16:45
2010.11.28
TCPClient и TCPServer


4-1241772386
Unknown user
2009-05-08 12:46
2010.11.28
Отладка процесса с точками останова


2-1283779921
istok
2010-09-06 17:32
2010.11.28
сечь клики по win контролам...