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

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

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

01. HRESULT hr;
02. IDataSourceLocatorPtr dlPrompt=NULL;
03. _RecordsetPtr rs=NULL;
04. try
05. {
06. // 初始化DataLinks对象
07. hr=dlPrompt.CreateInstance(__uuidof(DataLinks));
08. if(FAILED(hr))
09. throw(_com_error(hr,NULL));
10.  
11. // 建立连接
12. pConn=dlPrompt->PromptNew();
13.  
14. // 如果 conn 为 NULL
15. if(pConn==NULL)
16. return;
17.  
18. // 打开连接
19. pConn->Open(pConn->ConnectionString,L"",L"",-1);
20.  
21. // 清除列表框
22. while(m_tblList.GetCount()>0)
23. m_tblList.DeleteString(0);
24.  
25. // 获取数据库中表集
26. rs=pConn->OpenSchema(adSchemaTables);
27. while(!rs->adoEOF)
28. {
29. m_tblList.AddString((char*)(_bstr_t)rs->Fields->Item[L"TABLE_NAME"]->Value);
30. rs->MoveNext();
31. }
32. rs=NULL;
33. dlPrompt.Release();
34. }
35. catch (_com_error &e)
36. {
37. AfxMessageBox(e.ErrorMessage());
38. }

需要注意的是,在建立工程时,要选上Automation选项,在StdAfx.h中加入下面代码

1. #import "C:\program files\common files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
2. //如果使用 ADO 2.0 加入下面代码
3. #import "C:\Program Files\Common Files\System\Ole DB\msdasc.dll" no_namespace
4. //如果使用 ADO 2.1 加入下面代码
5. #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

<完>


FROM: http://www.vckbase.com/index.php/wv/551

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值