VC+ADO 連接ACCESS和SQL SERVER的方法總結(jié)默認(rèn)分類 2010-07-26 19:43:38 閱讀57 評論0 字號:大中小 訂閱 //stdafx.h #import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF") //主程序初始化函數(shù) BOOL CADO2App::InitInstance() { AfxEnableControlContainer(); AfxOleInit();//初始化COM庫 //-------------------------------------------- 下面是ACCESS的: HRESULT hr; try { hr = m_pConnection.CreateInstance("ADODB.Connection");///創(chuàng)建Connection對象 if(SUCCEEDED(hr)) { hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb","","",adModeUnknown);///連接數(shù)據(jù)庫 ///上面一句中連接字串中的Provider是針對ACCESS2000環(huán)境的,對于ACCESS97,需要改為:Provider=Microsoft.Jet.OLEDB.3.51; } } } catch(_com_error e)///捕捉異常 { CString errormessage; errormessage.Format("連接數(shù)據(jù)庫失敗!\r\n錯誤信息:%s",e.ErrorMessage()); AfxMessageBox(errormessage);///顯示錯誤信息 return FALSE; } 下面是連接SQL SERVER的 CString strSQL; HRESULT hr; try { hr=m_pConnection.CreateInstance(__uuidof(Connection)); m_pConnection->CursorLocation=adUseClient; strSQL="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=TEST;Data Source=yjm"; if(SUCCEEDED(hr)) { hr=m_pConnection->Open(_bstr_t(strSQL),"","",-1); } } catch(_com_error e)///捕捉異常 { CString errormessage; errormessage.Format("連接數(shù)據(jù)庫失敗!\r\n錯誤信息:%s",e.ErrorMessage()); AfxMessageBox(errormessage);///顯示錯誤信息 return FALSE; } //AfxMessageBox("connected~~"); 其中: ----- ADO連接SQL Server的數(shù)據(jù)庫連接字符串模板 ---------- 身份驗證模式為:"sql server和windows" Provider=SQLOLEDB.1;Persist Security Info=True;User ID=用戶名;Password=密碼;Initial Catalog=數(shù)據(jù)庫名;Data Source=SQL服務(wù)器名 身份驗證模式為:"僅windows" Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=數(shù)據(jù)庫名;Data Source=SQL服務(wù)器名 或者 : _dstr_t connstr = "driver={SQL Server};Server=服務(wù)器IP;DATABASE= 數(shù)據(jù)庫名;UID=sa;PWD="; |
|