VC 连接oracle数据库

来源:互联网 发布:俄罗斯重工业知乎 编辑:程序博客网 时间:2024/05/16 13:50

1、导入库文件,并设置全局连接字符串

#import "C:\Program Files\Common Files\System\ado\msado60_Backcompat_i386.tlb" no_namespace rename("EOF","EndOfFile")_ConnectionPtr pConn=NULL;//数据库连接

2、在工程目录下新建SQL_connect.ini文件,并输入

Provider=MSDAORA.1;Password=test;User ID=test;Data Source=127.0.0.1:1521/orcl;Persist Security Info=True
127.0.0.1是指本机,如果连接到其他IP,直接修改该地址即可

连接数据库

if (!AfxOleInit())//初始化OLE/COM库{AfxMessageBox(_T("OLE init Error"));return FALSE;}//创建数据库连接实例CStdioFile file; file.Open(_T("SQL_Connect.ini"), CFile::modeRead);CString str=_T("");file.ReadString(str);file.Close();const _bstr_t strSRC = (_bstr_t)str;//const _bstr_t strSRC= "Provider=MSDAORA.1;Password=test;User ID=test;Data Source=localhost:1521/orcl;Persist Security Info=True";if (FAILED(pConn.CreateInstance("ADODB.Connection"))){AfxMessageBox(_T("Create Instance failed!"));exit(0);}try{pConn->Open(strSRC,"","",adModeUnknown);}catch(_com_error e){AfxMessageBox(e.Description());exit(0);}

3、查询数据库

<pre name="code" class="cpp">        CString str="R4-012345A010";        CString coilnum;_variant_t  RecordsAffected;_RecordsetPtr pRecordset;//钢卷1str.Format(_T("select coilnum from test.test2 where coilnum like '%s'"), str);pRecordset = pConn->Execute((_bstr_t)str,&RecordsAffected,adCmdText);//查询历史数据中当前卷信息if (!(pRecordset->BOF||pRecordset->EndOfFile) )//存在历史数据{_variant_t var;var = pRecordset->GetFields()->GetItem((long)0)->GetValue();if(var.vt != VT_NULL)   //为NULL{m_coilnum = var;}else{m_coilnum = "";}}






0 0
原创粉丝点击