我正在将 VC++/SQL 服务器应用程序迁移到使用 Oracle。数据库访问是使用 ADO 类实现的,我找不到通过 Oracle 返回的游标的方法。
存储过程类似于:
create or replace PROCEDURE GetSettings
(
cv_1 OUT SYS_REFCURSOR
)
AS
BEGIN
OPEN cv_1 FOR
SELECT KEY ,
VALUE
FROM Settings;
END;
代码类似于:
_CommandPtr pCommand;
_ParameterPtr pParam1;
HRESULT hr = pCommand.CreateInstance (__uuidof (Command));
if (FAILED (hr))
return;
pCommand->ActiveConnection = m_pConn;
pCommand->CommandText = "GetSettings";
pCommand->CommandType = adCmdStoredProc;
_RecordsetPtr pRecordset;
hr = pRecordset.CreateInstance (__uuidof (Recordset));
if (FAILED (hr))
return;
pRecordset = pCommand->Execute(NULL,NULL,adCmdStoredProc);
(实际上它正在使用来自http://www.codeproject.com/Articles/1075/A-set-of-ADO-classes-version-2-20#TheSample02的 ADO 类)
返回的 pRecordset 处于关闭状态,您无法对其进行任何操作。我想我应该为游标传递一些参数,但是如何使用这些 ADO 函数创建/使用/访问返回的游标?我看不到游标参数类型
我完全被卡住了,非常感谢一些帮助
谢谢