WEB开发网
开发学院软件开发VC 如何调用[建立ADO连接字符串对话框] 阅读

如何调用[建立ADO连接字符串对话框]

 2008-04-19 20:27:42 来源:WEB开发网   
核心提示:我们做数据库应用程序时,经常需要动态建立数据库连接,如何调用[建立ADO连接字符串对话框],您知道怎么做吗?下面的代码会给你提供一些帮助,效果如图HRESULT hr;IDataSourceLocatorPtr dlPrompt=NULL;_RecordsetPtr rs=NULL;try{// 初始化DataLink

我们做数据库应用程序时,经常需要动态建立数据库连接,您知道怎么做吗?

下面的代码会给你提供一些帮助,效果如图

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

<完>

Tags:如何 调用 建立

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接