您的位置:首页 > 数据库 > Oracle

VC用ADO连接oracle的方法 .

2011-08-31 17:37 417 查看
#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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: