Поиск:

Ответ в темуСоздание новой темы Создание опроса
> INSERT ... INTO RETURNING (Parameters), Как получить возвращаемые параметры 
:(
    Опции темы
RomanEEP
Дата 5.5.2009, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 18.5.2006
Где: Коломна

Репутация: нет
Всего: 8



Таким образом хочу вернуть в программу значения инкрементального поля. Как на FB-2.1.2 с помощью FIBPlus 6.9.6 узнать возвращаемые параметры
Код

  FIBQuery.SQL.Text := 'INSERT INTO QUESTIONS';
  FIBQuery.SQL.Add('(SUBJECT_ID, QUESTION_NAME, ANSWER_DATA, QUESTION_DATA)');
  FIBQuery.SQL.Add('VALUES (:SubjID, :QName, :ADATA, :QDATA)');
  FIBQuery.SQL.Add('RETURNING QID ');
  FIBQuery.Params[0].AsInteger := SubjID;
  FIBQuery.Params[1].AsString := Name;
  FIBQuery.Params[2].AsString := Answer.Text;
  FIBQuery.Params[3].AsString := Question.Text;
  FIBQuery.ExecQuery;
  FIBDb.Commit;


Это сообщение отредактировал(а) RomanEEP - 5.5.2009, 16:47
PM MAIL   Вверх
insoft
Дата 5.5.2009, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 14.2.2007
Где: Тюменская область , г.Тобольск

Репутация: 3
Всего: 3



RomanEEP, никак..
insert into ничего не возвращает! returning_values можно применить к процедуре но никак ни к вставке
PM MAIL WWW   Вверх
RomanEEP
Дата 5.5.2009, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 18.5.2006
Где: Коломна

Репутация: нет
Всего: 8



но, к примеру, если я выполняю вышеуказанный запрос в IB-Expert, то результат выглядит так:
Код

1 record(s) was(were) inserted into TEST

------ Inserted values ------

ID = 62



ЗЫ: Может быть существет другой способ для возврата значения автоматически сгенерированных полей?
PM MAIL   Вверх
insoft
Дата 5.5.2009, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 14.2.2007
Где: Тюменская область , г.Тобольск

Репутация: 3
Всего: 3



RomanEEP, какая СУБД? на FB1.5 не работает
PM MAIL WWW   Вверх
Akella
Дата 5.5.2009, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



FB 2.0 требуется

Добавлено через 1 минуту и 38 секунд
Цитата(RomanEEP @  5.5.2009,  10:42 Найти цитируемый пост)
FIBQuery.ExecQuery;

замени на Open

Добавлено через 2 минуты и 43 секунды
А после открытия бери значение из FIBQuery.fields[0]

Добавлено через 4 минуты и 31 секунду
и сразу подтверждай и закрывай
PM MAIL   Вверх
Deniz
Дата 5.5.2009, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 8
Всего: 44



Цитата(insoft @  5.5.2009,  14:38 Найти цитируемый пост)
returning_values можно применить к процедуре но никак ни к вставке 
ошибочное мнение


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
insoft
Дата 5.5.2009, 15:18 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 14.2.2007
Где: Тюменская область , г.Тобольск

Репутация: 3
Всего: 3



Цитата(Deniz @  5.5.2009,  14:59 Найти цитируемый пост)
ошибочное мнение 

Цитата(insoft @  5.5.2009,  12:19 Найти цитируемый пост)
на FB1.5 не работает 

вообще то когда создаётся новая тема, необходимо указывать какая СУБД...
PM MAIL WWW   Вверх
Deniz
Дата 6.5.2009, 05:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 8
Всего: 44



Цитата(insoft @  5.5.2009,  18:18 Найти цитируемый пост)
вообще то когда создаётся новая тема, необходимо указывать какая СУБД... 
ну это проблемы автора, сейчас то он уже подредактировал первый пост.
По поводу returning, вот отрывок из релизных нот версии 2.0:
Код
RETURNING Clause for Insert Statements
D. Yemanov
The RETURNING clause syntax has been implemented for the INSERT statement, enabling the return
of a result set from the INSERT statement. The set contains the column values actually stored.
Most common usage would be for retrieving the value of the primary key generated inside a BEFORE-trigger.
Available in DSQL and PSQL.
Syntax Pattern
INSERT INTO ... VALUES (...) [RETURNING <column_list> [INTO <variable_list>]]
Data Manipulation Language (DML)
Example(s)
1. INSERT INTO T1 (F1, F2) VALUES (:F1, :F2) RETURNING F1, F2 INTO :V1, :V2;
2. INSERT INTO T2 (F1, F2) VALUES (1, 2) RETURNING ID INTO :PK;



--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0796 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.