VC调用ORACLE存储过程的通用方法
先对上一篇调用SQLServer的存储过程作一点补充,就是如果存储过程里有Insert,update,delete等操作,最后返回结果集,按示例代码有可能得不到数据,因为返回的数据有可能不在第一个结果集,需要进行遍历:
long lngRec = 0;
_RecordsetPtr Rs = m_Rs; //m_Rs为调用存储过程返回的结果集
while(Rs)
{
//结果集的处理,有无数据的判断,数据处理等
while(!m_Rs-EndOfFile)
{
//...
}
Rs = Rs-NextRecordset((VARIANT *)lngRec);
}
调用ORACLE的存储过程,VC的调用代码不需要变动,但需要对ORACLE的存储过程和调用的SQL语句进行一些调整。
首先,连接字符串不能用ODBC,即连接字符串不能是
"Driver={Microsoft ODBC for Oracle};Server=OracleServer.world;Uid=Username;Pwd=...[ 查看全文 ]