程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> 關於VC++ >> 如何調用[建立ADO連接字符串對話框]

如何調用[建立ADO連接字符串對話框]

編輯:關於VC++

我們做數據庫應用程序時,經常需要動態建立數據庫連接,您知道怎麼做嗎?

下面的代碼會給你提供一些幫助,效果如圖

HRESULT hr;
IDataSourceLocatorPtr dlPrompt=NULL;
_RecordsetPtr rs=NULL;
try
{
 // 初始化DataLinks對象
 hr=dlPrompt.CreateInstance(__uuidof(DataLinks));
 if(FAILED(hr))
  throw(_com_error(hr,NULL));
 // 建立連接
 pConn=dlPrompt->PromptNew();
 // 如果 conn 為 NULL
 if(pConn==NULL)
  return;
 // 打開連接
 pConn->Open(pConn->ConnectionString,L"",L"",-1);
 // 清除列表框
 while(m_tblList.GetCount()>0)
  m_tblList.DeleteString(0);
 // 獲取數據庫中表集
 rs=pConn->OpenSchema(adSchemaTables);
 while(!rs->adoEOF)
 {
  m_tblList.AddString((char*)(_bstr_t)rs->Fields->Item[L"TABLE_NAME"]->Value);
  rs->MoveNext();
 }
 rs=NULL;
 dlPrompt.Release();
}
catch (_com_error &e)
{
  AfxMessageBox(e.ErrorMessage());
}

需要注意的是,在建立工程時,要選上Automation選項,

在StdAfx.h中加入下面代碼

#import "C:\program files\common files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
//如果使用 ADO 2.0 加入下面代碼
#import "C:\Program Files\Common Files\System\Ole DB\msdasc.dll" no_namespace
//如果使用 ADO 2.1 加入下面代碼
#import "C:\Program Files\Common Files\System\Ole DB\oledb32.dll" no_namespace

注:ADO2.0 或 ADO2.1 中,如果其中一個編譯不成功,則用另一個

我就說這麼多,具體請參見MSDN

http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q225132"]http://suppor-t.microsoft.com/default.aspx?scid=KB;EN-US;Q225132

<完>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved