技术开发 频道

两种Oracle应用程序开发接口的对比分析


四 ADO程序关键代码
  首先需要在stdafx.h中添加如下代码
//消除一些无用的警告 #pragma warning(disable:4146 4244) //导入ADO应用库,并对命名空间及EOF重命名 #import "C:\Program Files\Common Files\System\ADO\msado15.dll" \ rename_namespace("MYADO") rename("EOF", "EndOfFile") 下面的是关键实现代码: //初始化连接对象 hr = m_pConnection.CreateInstance(__uuidof(MYADO::Connection)); //初始化记录集对象 m_pRs.CreateInstance(__uuidof(MYADO::Recordset)); //设置连接参数 CString strConnection; strConnection.Format(_T("Provider=OraOLEDB.Oracle.1;" "Password=%s;" "User ID=%s;" "Data Source=%s"), strPwd, strUser, strSID); //连接到数据库 m_pConnection->Open((_bstr_t)strConnection,_T(""),_T(""),-1); //执行SQL语句 strSQL.Format("Truncate table my_objects"); m_pConnection->Execute(_bstr_t(strSQL),NULL,MYADO::adCmdText); //打开记录集 strSQL.Format("Select object_name from my_objects"); m_pRs->Open((_bstr_t)strSQL, m_pConnection.GetInterfacePtr(), MYADO::adOpenForwardOnly, MYADO::adLockReadOnly, MYADO::adCmdText); //遍历并读取数据 while(!m_pRs->EndOfFile) { varValue = m_pRs->Fields->GetItem(long(0))->GetValue(); m_pRs->MoveNext(); } strSQL.Format("Insert into my_objects2 values  ('TestTest','TestTest','TestTest',0,0)"); //写入数据 for(int i=0;i<100000;i++) { m_pConnection->Execute(  _bstr_t(strSQL),NULL,MYADO::adCmdText); } //关闭连接 m_pConnection->Close();
OCI的关键代码限于篇幅,不予罗列。
  本实验的ADO应用程序的源代码、可执行程序以及OCI的可执行程序可以到http://www.snowywolf.net下载,OCI的源代码因涉及技术保密问题,无法公开,敬请谅解。
0
相关文章