VC用ADO连接oracle的方法

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

_ConnectionPtr m_pConnection;
_RecordsetPtr m_pRecordset;

// 初始化COM,创建ADO连接等操作
AfxOleInit();

连接:
m_pConnection.CreateInstance(__uuidof(Connection));

try //建立数据库连接
{
  m_pConnection.CreateInstance(__uuidof(Connection));
  m_pConnection->Open("Provider=OraOLEDB.Oracle.1;Password=pzone;User ID=pzone;Data Source=zp;Persist Security Info=True","","",adModeUnknown);

}
catch(_com_error e)
{
  CString errormessage;
  errormessage.Format("数据库连接失败!/r/n错误信息:%s", e.ErrorMessage());
  AfxMessageBox(errormessage);
  //return FALSE;



_bstr_t sql="select name from booktype";
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pRecordset->Open(sql, m_pConnection->GetConnectionString(),adOpenStatic,adLockOptimistic,adCmdText);

if(!m_pRecordset->BOF)//判断表内数据是否为空
  m_pRecordset->MoveFirst();
else{
  AfxMessageBox("BookType表内数据为空");
  return;
}

while(!m_pRecordset->adoEOF){
  CString item=m_pRecordset->GetCollect("name");
  m_pRecordset->MoveNext();
}
m_pRecordset->Close();

增加:
_bstr_t sql="insert into tablename values (".....;
m_pConnection->Execute(sql,NULL,adCmdText);

删除
_bstr_t sql="delete from tablename where ...";
m_pConnection->Execute(sql,NULL,adCmdText);


_bstr_t sql="update tablename set xx=...";
m_pConnection->Execute(sql,NULL,adCmdText);

 

//关闭和释放连接

m_pRecordset->Close();
m_pConnection->Close();
m_pRecordset.Release();
m_pConnection.Release();

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值