C++使用存储过程返回结果
C++ use Stored Procedure to return results
在过去的几年里,我一直在维护一个利用某种形式的非 ADO 数据库连接的大型C++应用程序 (v100(,但它运行良好。
在此期间,从数据库获取结果集非常简单。 我使用数据库对象实例化返回类,然后打开查询。
CUpdates cUpdates(GetDatabase());
CString strQuery = "SELECT * FROM Updates";
cUpdates.Open(-1, strQuery);
就这么简单,cUpdates充满了记录。
但是,现在我们要执行一个存储过程,并从中返回结果。 但无论我尝试什么,即使将"EXEC"更改为"CALL",调用也会失败。 是否有类似的简单方法来执行存储过程并返回结果,而不必完全重写应用程序处理数据库连接和数据返回的方式?
strQuery.Format("EXEC dbo.[GetUpdates_ComputerName] '%s', %d, %d", GetWorkstationName(), m_bRetainUpdates, m_bScheduleUpdate);
cUpdates.Open(-1, strQuery); //FAILS ON EXEC
(我已经在SSMS中测试了EXEC语句,它工作正常(
我们还使用另一个 sql 命令来严格执行语句,但我认为无法使用它返回数据。也许有一个我不知道的类似命令?
GetDatabase()->ExecuteSQL(strQuery);
注意:作为记录,我是 C# 开发人员(自 1.0 测试版开始(。 在过去的 2 年里,我在 c++ 方面的唯一经验是动态学习,偶尔维护一些大型系统。
CRecordset 似乎无法处理其中的 EXEC 语句。因此,我们将新的存储过程转换为表格函数,因此我可以改用 SELECT ...工作正常。(虽然我宁愿使用存储过程(
相关文章:
- C++Brute Force攻击函数不会返回结果
- 如何在一个表达式中生成并返回结果?
- 使用std::tie进行类似golang的错误处理,同时返回结果,是否有缺点?(C++11)
- C++ 线程端回调并返回结果
- C++使用存储过程返回结果
- reinterpret_cast总是返回结果C++?
- 尝试以随机字符(长读取)打印字符串返回结果
- 通过C 中的参考返回结果
- 使用枚举确定返回结果的类型(使用宏的黑客)
- 返回结果不可见
- 打开一个 Shell 程序,向其传递参数,然后返回结果
- 如何在递归函数中计算返回结果
- 整数列表的交集-无法返回结果列表
- 来自 open() 的返回结果代码之间的差异:25 与 3
- 使用 c++11 线程返回结果的正确方法是什么
- 传递StringBuilder并从c++dll向c#返回结果
- 如何跳出一些深度递归的函数并直接返回结果
- 使用MPI临时接收数据,然后返回结果
- C++,我不知道为什么我的函数不返回结果
- QDialog show()后面跟着返回结果操作