VC使用UDL文件建立ADO连接

最近在改一个VC的项目,需要灵活的配置数据库连接,我用到了数据链接文件,使用UDL文件必须在系统中先安装Microsoft MDACWin 2000以后的版本中都自动包含了该组件。关于UDL的使用只强调两点。

m_pConnection->ConnectionString = "File Name = my_datal.udl";   


这一句有两个错误


1、
等于号左右的空格一定要去掉,即:

m_pConnection->ConnectionString = "File Name=my_datal.udl";


2、UDL
文件最好要写绝对路径,否则可能出现0X80030002的未知错误。即:

m_pConnection->ConnectionString = "File Name=D://my_datal.udl";

最好是使用GetModuleFilename(NULL...)得到当前程序文件所在路径,然后从中提取出所在路径,我写的连接部分代码,UDL文件和程序可执行文件在同一目录下。

  1. try
  2.     {
  3.         char dbfName[MAX_PATH];
  4.         GetModuleFileName(NULL,dbfName,MAX_PATH);
  5.         char *pstr = strrchr(dbfName,'//');
  6.         if (pstr != NULL)
  7.         {
  8.         *pstr = '/0';
  9.         strcat(dbfName,"//conn.udl");
  10.         }
  11.         CString sConn;
  12.         sConn.Format("File Name=%s",dbfName);
  13.         hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
  14.         if(SUCCEEDED(hr))
  15.         {
  16.             m_pConnection->Open(_bstr_t(sConn),"","",adModeUnknown);
  17.             m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb","","",adModeUnknown);///连接数据库
  18.         }
  19.     }
  20.     catch(_com_error e)///捕捉异常
  21.     {
  22.         CString errormessage;
  23.         errormessage.Format("连接数据库失败!/r/n错误信息:%s",e.ErrorMessage());
  24.         AfxMessageBox(errormessage);///显示错误信息
  25.         return FALSE;
  26.     } 



 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值