C++ADO连接数据库

环境布置:
stdafx.h中添加

#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")

接着使用 _ConnectionPtr 建立连接

constexpr auto conn = "Provider = OraOLEDB.Oracle.1; Password = password; Persist Security Info = True; User ID = userID; Data Source = DB";
_ConnectionPtr pConnection;
::CoInitialize(NULL);//初始化环境,不加可能连接数据库不成功!!
HRESULT hr = pConnection.CreateInstance("ADODB.Connection");
if (SUCCEEDED(hr))
	hr = pConnection->Open(strIniPath.c_str(), "", "", NULL);

接下来使用 _RecordsetPtr pRecordset 操作数据集

_RecordsetPtr pRecordset;
hr = pRecordset.CreateInstance("ADODB.Recordset")//建立连接
string 
pRecordset->Open("SELECT * FROM table_name",
		_variant_t((IDispatch*)pConnection, TRUE), adOpenStatic, adLockOptimistic, adCmdText);
while (!oracle.pRecordset->adoEOF)// rename (EOF,adoEOF)
{
		//取值操作
	string name= _com_util::ConvertBSTRToString(pRecordset->GetCollect("name").bstrVal);
		//赋值操作
	pRecordset->PutCollect(_variant_t("error_item"),_variant_t(SetpNumber));
	   //取下一条记录
	oracle.pRecordset->MoveNext();
		//update确认执行
	oracle.pRecordset->Update();
}
//释放资源
pRecordset->Close();
pRecordset->Release();
pRecordset = NULL;
pConnection->Close();
pConnection->Release();
pConnection= NULL
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值