检测 OCI OCIStmtExecute 调用更新的 ORACLE 行数
我有一个使用 OCIStmtExecute 函数调用来调用的 ORACLE 更新语句。
使用 OCI 函数调用,我想知道该操作已更新了多少行,例如零、一或多行。
我该怎么做呢 ?
I have an ORACLE update statement that I call using the OCIStmtExecute function call.
Using an OCI function call I would like to know how many rows have been updated by the action, e.g. zero, one or more.
How do I do this ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在 OCIStmt 语句句柄上使用 OCIAttrGet 函数调用,并将属性类型设置为 OCI_ATTR_ROW_COUNT
因此,将以下代码添加到您的程序中:
其中:
stmthp
是 OCIStmt 语句句柄errhp
是OCIError 错误句柄rc
是定义的返回代码 (sword)更新的行数(或者删除和插入,如果这是您的操作)被写入传递的 row_count 变量
Use the OCIAttrGet function call on your OCIStmt statement handle with the attribute type set to OCI_ATTR_ROW_COUNT
So add the folllowing code to your program :
where:
stmthp
is the OCIStmt statement handleerrhp
is the OCIError error handlerc
is the defined return code (sword)The number of rows updated (or deleted and inserted if that is your operation) is written into the passed row_count variable
在语句句柄上调用
OCIAttrGet(OCI_ATTR_ROW_COUNT)
。Invoke
OCIAttrGet(OCI_ATTR_ROW_COUNT)
on the statement handle.