oracle的游标就是内存中的一块数据区域。
你在c#中则是使用数据集的概念DataSet。
你在c#中可以接收返回的结果集。
你在c#中则是使用数据集的概念DataSet。
你在c#中可以接收返回的结果集。
解决方案 »
- oracle存储过程和函数示例
- oracle列转行的问题(在线等)
- pro*c 问题,预编译编译都没问题,可执行exe时发生 crtdll.dll找不到的错误。
- Oracle一编译存储过程或触发器就会断开~查询无碍~特此求助
- 如何用decode变换如下执行语句?
- 我用ASP连Oracle 服务器总是连不上
- Oracle中如何知道一个表占空间的大小?以及如何估算插入N条纪录后(最好纪录包括BLOB),占空间的大小?
- 在PL/SQL中用“SELECT TEST_SEQ.NEXTVAL FROM DUAL”居然取出两个值出来,哪为大侠有遇到这种情况吗?
- 9i中如何安装多个数据库实例?
- oracle compress 并行插入问题
- 请问?如何将多个long raw型数值连接到一起
- sql语句的问题!
我常用DataSet.
m_pConnection.CreateInstance("ADODB.Connection");
/******************连接数据库********************/
try
{
m_pConnection->ConnectionTimeout = 8;
//连接SQL SERVER
//m_pConnection->Open("Driver=SQL Server;Database=test;Server=127.0.0.1;UID=sa;PWD=;","","",adModeUnknown);
//连接ACCESS2000
//m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=userinfo.mdb","","",adModeUnknown);
//连接到oracleMSDAORA oraoledb.oracle
m_pConnection->Open("Provider=oraoledb.oracle;Data Source=ep;User ID=zongdui;Password=zongdui;PLSQLRSet=1","","",adModeUnknown); }
catch(_com_error e)///捕捉异常
{
AfxMessageBox("数据库连接失败!");
return FALSE;
}
/**********************************************/上面是连接数据库,PLSQLRSet=1这个一定要有。 m_bNewUser = FALSE;
m_pRecordset.CreateInstance("ADODB.Recordset");
try
{
//m_pRecordset->Open("SELECT name as username,old,photo as photo1 FROM test",_variant_t((IDispatch *)theApp.m_pConnection,true),adOpenStatic,adLockPessimistic,adCmdText);
_CommandPtr pCmdChange = NULL;
// _ParameterPtr pprmByRoyalty = NULL; pCmdChange.CreateInstance(__uuidof(Command));
pCmdChange->CommandType = adCmdStoredProc;
pCmdChange->CommandText = "pkg_test.get";
//Define Integer/variant.
// pprmByRoyalty.CreateInstance(__uuidof(Parameter));
// VARIANT vtRoyalty;
// vtRoyalty.vt = VT_I2;
// vtRoyalty.iVal = 20;
// pprmByRoyalty = pCmdChange->CreateParameter("param1",adInteger,adParamInput,sizeof(int),vtRoyalty);
// pCmdChange->Parameters->Append(pprmByRoyalty); // pprmByRoyalty->Value = vtRoyalty;
//Create Recordset by executing the command
pCmdChange->ActiveConnection = theApp.m_pConnection; //Create Recordset by executing the command
m_pRecordset->CursorType=adOpenStatic;
m_pRecordset->LockType=adLockPessimistic;
m_pRecordset = pCmdChange->Execute(NULL,NULL,adCmdStoredProc);
//m_pRecordset->Open("{CALL (?{20})}",_variant_t((IDispatch *)theApp.m_pConnection,true),adOpenStatic,adLockPessimistic,adCmdStoredProc);
/**/
}
catch (_com_error e)
{
AfxMessageBox(e.Description());
return FALSE;
}这样就可以得到pkgtest.get返回的记录集