如何在另一个表中使用表的上次插入id
How to use Last inserted id of a Table in Another Table
我已经搜索并意识到我可以使用SCOPE,但不确定如何使用它。将感谢您的任何帮助
这是选项插入语句
char sql[256];
sprintf_s(sql, "INSERT INTO Options[Value],[ValuesCorrect],[QuestionId]) VALUES ('%s', '%d', '%d'); "
, choice->getValue()
, choice->getIsAnswer()
, choice->getQuestionId());
pRecordSet->Open(sql, pConnection.GetInterfacePtr(), adOpenForwardOnly, adLockReadOnly, adCmdText);
这是我的问题表
char sql[256];
"DECLARE @ID = BIGINT";
sprintf_s(sql, "INSERT INTO Questions([Query],[CompetencyLevel],[TopicId]) VALUES('%s', %d, %d); "
,(const char*)question->getQuery()
, question->getCompetencyLevel()
,question->getTopicId());
pRecordSet->Open(sql, pConnection.GetInterfacePtr(), adOpenForwardOnly, adLockReadOnly, adCmdText);
"SELECT@ID = SCOPE_IDENTITY();";
以下查询将返回插入的id
INSERT INTO Options (
[Value]
,[ValuesCorrect]
,[QuestionId]
)
OUTPUT inserted.[YourIdColumnName]
VALUES (
'%s'
,'%d'
,'%d'
)
我使用ADO已经很久了,但代码可能看起来像
pRecordSet->Open(...);
auto id = pRecordSet->Fields->Item[0]->Value;
相关文章:
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 预处理器:插入结构名称中的前一个行号
- 在未初始化映射的情况下,将值插入到映射的映射中
- 如何在c++中只将键插入到bimap的一侧
- 如何将结构插入到集合中并打印集合的成员
- C++json插入数组
- Visual Studio 2019:插入多个C++风格的单行注释
- nlohmann-json将一个数组插入到另一个数组中
- 有效地使用std::unordered_map来插入或增加键的值
- 为字符串中每 N 个字符插入空格的函数没有按照我认为的方式工作?
- 正在插入动态数组
- 插入或删除时获取usb的dos_name
- 从函数角度看ID到文件路径的内部与外部映射
- 如何使用 QSqlQuery 和 SQLite 从新插入的行中获取 ID
- Oracle使用OCCI和C++获取最后插入的行id
- 如何在另一个表中使用表的上次插入id
- 如何获取插入菜单项时要使用的下一个命令 ID
- C++MySql获取最后插入的id
- DBExpress和mysql最后插入id