Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Execute statement - error :( [D6, FB 1.5]


Страницы:   1 2

Соловьев ©   (2004-04-14 15:35:00) 

Кто-то решал трабл? Пытаюсь в ХП выполнить запрос вида

...
EXECUTE STATEMENT 'SELECT GEN_ID('||MY_GENERATOR_NAME||',1) FROM RDB$DATABASE' INTO :ID;
...

Выскакивает ошибка при выполнении ХП, но самое интересное что генератор щелкнул :) А мне надо в ХП значение получить...


Соловьев   (2004-04-15 11:29:00) [1]


> Johnmen ©   (15.04.04 11:23) [20]

Та же документация говорит мне о другом :)

Syntax 2
=========

EXECUTE STATEMENT <string> INTO :var1, ., :varn;

Description

Executes <string> as SQL operation, returning single data row. Only
singleton SELECT operators may be executed with this form of EXECUTE
STATEMENT.

Sample:

CREATE PROCEDURE DynamicSampleTwo (TableName VARCHAR(100))
AS
DECLARE VARIABLE Par INT;

BEGIN
EXECUTE STATEMENT 'SELECT MAX(CheckField) FROM ' || TableName INTO :Par;
IF (Par > 100) THEN
 EXCEPTION Ex_Overflow 'Overflow in ' || TableName;
END


Johnmen   (2004-04-15 11:23:00) [2]

>Соловьев ©   (14.04.04 17:24) [19]
>нету там ошибки

Да? Странно... Документация говорит о другом...
Syntax SELECT [TRANSACTION transaction]
[DISTINCT | ALL]
{* | <val> [, <val> …]}
[INTO :var [, :var …]]
FROM <tableref> [, <tableref> …]
[WHERE <search_condition>]
...

Может здесь ошибка ? И я сам уже забыл синтаксис...


Соловьев   (2004-04-14 17:24:00) [3]


> Johnmen ©   (14.04.04 16:29) [13]

Invalid token.
Dynamic SQL error.
SQL error code = -104.
Token unknown - line 1, char 47.
INTO.


> Johnmen ©   (14.04.04 17:21) [18]

нету там ошибки


Johnmen   (2004-04-14 17:21:00) [4]

Не понял...
В [0] у тебя для начала просто синтаксическая ошибка...


Соловьев   (2004-04-14 17:19:00) [5]


> Соловьев ©   (14.04.04 16:32) [14]


Johnmen   (2004-04-14 17:16:00) [6]

А что по поводу [13] ?


Соловьев   (2004-04-14 17:12:00) [7]

Ну что? Никак... может Еманову позвонить? :)


Соловьев   (2004-04-14 16:32:00) [8]


> Johnmen ©   (14.04.04 16:29) [13]


> Соловьев ©   (14.04.04 15:56) [6]


:)


Johnmen   (2004-04-14 16:29:00) [9]

>Соловьев ©   (14.04.04 15:56) [6]

EXECUTE STATEMENT 'SELECT GEN_ID('||MY_GENERATOR_NAME||',1) INTO :ID FROM RDB$DATABASE';

:)


Соловьев   (2004-04-14 16:13:00) [10]


> при выполнении? или компиляции?

проблем с компиляцией нет, проблемы всегда при выполнении. Первый мой пост работает, т.е генератор щелкает, но результата я не вижу в ХП


Соловьев   (2004-04-14 16:11:00) [11]


> 2004.04.04 компиляция проходит (выполнять не пробовал)

попробуй.
У меня 2004.04.08


Kadr   (2004-04-14 16:08:00) [12]

при выполнении? или компиляции?
Версия эксперта?
2004.04.04 компиляция проходит (выполнять не пробовал)


Соловьев   (2004-04-14 16:06:00) [13]


> Kadr ©   (14.04.04 16:02) [8]

Error convert string


Kadr   (2004-04-14 16:02:00) [14]

CREATE PROCEDURE DELET (
   GEN VARCHAR(10))
RETURNS (
   ID INTEGER)
AS
begin
 EXECUTE STATEMENT 'SELECT GEN_ID('||GEN||',1) FROM RDB$DATABASE INTO'|| :ID;
 suspend;
end


Соловьев   (2004-04-14 15:59:00) [15]

С приложения теже самые ошибки - значит не в эксперте дело...Глюк ФБ.


Соловьев   (2004-04-14 15:56:00) [16]


> Johnmen ©   (14.04.04 15:51) [4]

Invalid token.
Dynamic SQL error.
SQL error code = -104.
Token unknown - line 1, char 47.
INTO.


Kadr   (2004-04-14 15:53:00) [17]

в режиме отладки в эксперте ошибки не выскакивают


Johnmen   (2004-04-14 15:51:00) [18]

М.б. вся команда в ''
EXECUTE STATEMENT 'SELECT GEN_ID('||MY_GENERATOR_NAME||',1) FROM RDB$DATABASE INTO :ID';


Соловьев   (2004-04-14 15:46:00) [19]

Если проходить дебагом в эксперте - то не выскакивает... Может глюкс эксперта?


Соловьев   (2004-04-14 15:45:00) [20]

Variable type (position 0) in EXECUTE STATEMENT 'SELECT GEN_ID(MY_GENERATOR,1) FROM RDB$DATABASE' INTO does not match returned
co.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо