1.用#import指令引入ADO類型庫

  我們在stdafx.h中加入如下語句:

  #import “c:program filescommon files,江蘇會計證考試報名,2022年會計從業(yè)資格考試報名,2022年江蘇會計從業(yè)證報名,2022年江蘇會計從業(yè)考試報名,江蘇2022年會計從業(yè)資格考試成報名,2022年江蘇會計從業(yè)考試,會計電算化考試試題,2022年江蘇會計電算化,江蘇會計電算化試題,江蘇會計電算化考試,江蘇初級會計電算化,江蘇初級會計電算化考試">

射精一区欧美专区|国产精品66xx|亚洲视频一区导航|日韩欧美人妻精品中文|超碰婷婷xxnx|日韩无码综合激情|特级黄片一区二区|四虎日韩成人A√|久久精品内谢片|亚洲成a人无码电影

您現(xiàn)在的位置:首頁 > IT認證 > 軟件水平 >

軟考程序員輔導:vc中用ado連接oracle的方法


2012年軟考程序員輔導:vc中用ado連接oracle的方法

在利用ado連接數(shù)據(jù)庫之前,需要做一些準備

  1.用#import指令引入ADO類型庫

  我們在stdafx.h中加入如下語句:

  #import “c:program filescommon filessystemadomsado15.dll” no_namespace rename(“EOF”,“adoEOF”) .

  這一語句有何作用呢?其最終作用同我們熟悉的#i nclude類似,編譯的時候系統(tǒng)會為我們生成msado15.tlh,ado15.tli兩個C++頭文件來定義ADO庫。

  幾點說明:

 。1) 您的環(huán)境中msado15.dll不一定在這個目錄下,請按實際情況修改

  (2) 在編譯的時候肯能會出現(xiàn)如下警告,對此微軟在MSDN中作了說明,并建議我們不要理會這個警告。msado15.tlh(405) : warning C4146: unary minus operator applied to unsigned type, result still unsigned

  2、初始化OLE/COM庫環(huán)境

  必須注意的是,ADO庫是一組COM動態(tài)庫,這意味應用程序在調用ADO前,必須初始化OLE/COM庫環(huán)境。在MFC應用程序里,一個比較好的方法是在應用程序主類的InitInstance成員函數(shù)里初始化OLE/COM庫環(huán)境。

  BOOL CMyAdoTestApp::InitInstance()

  {

  if(!AfxOleInit())//這就是初始化COM庫

  {

  AfxMessageBox(“OLE初始化出錯!”);

  return FALSE;

  }

  }  3.ADO庫包含三個基本接口:_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。與數(shù)據(jù)庫的連接就是用_ConnectionPtr接口,它的連接字符串可以是自己直接寫,也可以指向一個ODBC DSN.以下的例子都測試通過,順便寫了SQL Server的例子。

  BOOL CTestconDlg::ConnectDatabase()

  {

  CString m_server,m_data,m_uid,m_pwd;

  m_server=“192.168.0.24”;//服務器ip或名稱

  m_data=“crmdb”;//ODBC數(shù)據(jù)源

  m_uid=“njcrm”;//用戶名

  m_pwd=“crmdbo”;//密碼

  BOOL retFt=false;

  HRESULT hr;

  try

  {

  hr = m_pConnection.CreateInstance(“ADODB.Connection”);///創(chuàng)建Connection對象

  if(SUCCEEDED(hr))

  {

  _bstr_t connStr;

  m_pConnection->CursorLocation=adUseClient;

  //begin---------------Oracle ODBC 配置數(shù)據(jù)源  //控制面板->管理工具->數(shù)據(jù)源(ODBC)->系統(tǒng)DNS->添加->Microsoft ODBC for Oracle->完成->配置……

  // connStr=“DSN=”+m_data;

  // m_pConnection->Open(_bstr_t(connStr),(_bstr_t)m_uid,(_bstr_t)m_pwd,adConnectUnspecified);

  //end---------------Oracle ODBC 配置數(shù)據(jù)源

  //begin---------------Oracle 標準安全級別

  // connStr=“Provider=OraOLEDB.Oracle;User ID=njcrm;Password=crmdbo;Data Source=192.168.0.24;”;

  // m_pConnection->Open(_bstr_t(connStr),(_bstr_t)_T(“”),(_bstr_t)_T(“”),adConnectUnspecified);

  //end---------------Oracle 標準安全級別

  //begin---------------Oracle 微軟格式

  // connStr=“Provider=MSDAORA.1;User ID=njcrm;Password=crmdbo;Data Source=192.168.0.24;Persist Security

  Info=False”;

  // m_pConnection->Open(_bstr_t(connStr),(_bstr_t)_T(“”),(_bstr_t)_T(“”),adConnectUnspecified);

  //end---------------Oracle 微軟格式

  //begin---------------Oracle 微軟格式 變量

  connStr=“Provider=OraOLEDB.Oracle;Persist Security Info=False;Data Source=”+m_server; m_pConnection->Open(_bstr_t(connStr),(_bstr_t)m_uid,(_bstr_t)m_pwd,adConnectUnspecified);  //end---------------Oracle 微軟格式 變量

  //begin---------------Oracle 信任連接1

  // connStr=“Provider=MSDAORA.1;User ID=/;Password=;Data Source=192.168.0.24;Persist Security

  Info=False”;

  // m_pConnection->Open(_bstr_t(connStr),(_bstr_t)_T(“”),(_bstr_t)_T(“”),adConnectUnspecified);

  //end---------------Oracle 信任連接1

  //begin---------------Oracle 信任連接2

  // connStr=“Provider=MSDAORA.1;OSAuthent=1;Data Source=192.168.0.24;Persist Security Info=False”;

  // m_pConnection->Open(_bstr_t(connStr),(_bstr_t)m_uid,(_bstr_t)m_pwd,adConnectUnspecified);

  //end---------------Oracle 信任連接2

  //begin---------------SQLServer ODBC配置數(shù)據(jù)源

  // connStr=“DSN=new_kh_wh”;

  // m_pConnection->Open(_bstr_t(connStr),(_bstr_t)_T(“sa”),(_bstr_t)_T(“”),adConnectUnspecified);

  //end---------------SQLServer ODBC配置數(shù)據(jù)源

  //begin---------------SQLServer

  // connStr=“driver={SQL Server};Server=192.168.0.24;DATABASE=new_kh_bb;Uid=sa;Pwd=;”;

  // m_pConnection->Open(_bstr_t(connStr),(_bstr_t)_T(“”),(_bstr_t)_T(“”),adConnectUnspecified);

  //end---------------SQLServer

  retFt= true;

  }

  }

  catch(_com_error e)///捕捉異常

  {

  CString errormessage;

  errormessage.Format(“連接數(shù)據(jù)庫失!\r\n錯誤信息:%s”,e.ErrorMessage());

  AfxMessageBox(errormessage);///顯示錯誤信息

  retFt= false;

  }

  return retFt;

  }

相關文章

無相關信息
更新時間2022-03-13 11:10:58【至頂部↑】
聯(lián)系我們 | 郵件: | 客服熱線電話:4008816886(QQ同號) | 

付款方式留言簿投訴中心網(wǎng)站糾錯二維碼手機版

客服電話: