SQLRU.net
Разработка приложений баз данных

Начало » Использование СУБД » Firebird, HQbird, InterBase » C API и получение значения, возвращаемого INSERT ... RETURNING
C API и получение значения, возвращаемого INSERT ... RETURNING [сообщение #5139] Thu, 20 June 2024 10:22 Переход к предыдущему сообщению
unif в настоящее время не в онлайне  unif
Сообщений: 2
Зарегистрирован: June 2024
Junior Member
Добрый день.
Не получается разобраться как с помощью функций C API Firebird получить значение, возвращаемое запросом INSERT ... RETURNING. Например
INSERT INTO FTABLE (FID, FNUM, BTYPE, FDATE, FVER) VALUES (NEXT VALUE FOR GNR2, 1, '101', '17.11.2023', 2713) RETURNING FID
Вызываю
isc_dsql_exec_immed2(stat, db, trans, 0, sqlstr, SQL_DIALECT_V6, NULL, osqlda)
В osqlda подготовлена одна XSQLVAR типа, соответствующего FID. Функция выполняется успешно, запись в таблицу добавляется, но в XSQLVAR возвращается 0, а не актуальный FID добавленной записи.

Как можно получить это возвращаемое значение? В isql FID возвращается. Может я вообще не той функцией пытаюсь это реализовать, хотя по описанию она подходит.

И еще вопрос - документация на API везде попадается от Interbase 6. А более актуальной версии для Firebird 3/4/5 нет?
 
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Предыдущая тема: Коллекция скриптов для одношаговой установки Firebird или HQbird на всех популярных Linux
Следующая тема: CHARACTER SET WIN1251 is not defined (FB 1.5 Emb)
Переход к форуму:
  


Текущее время: Mon Sep 16 23:03:04 GMT+3 2024

Общее время, затраченное на создание страницы: 0.00767 секунд