码迷,mamicode.com
首页 > 数据库 > 详细

VC6.0中用ado连接数据库出错

时间:2019-04-20 23:00:00      阅读:361      评论:0      收藏:0      [点我收藏+]

标签:ini   自己   .dll   cat   erro   time   信息   containe   ram   

1. 在stdafx.h中添加 #import "c:\\program files\\common files\\system\\ado\\msado15.dll"  no_namespace rename("EOF", "adoEOF")
并且要在电脑注册32位的msado15.dll。我的win7下没有注册成功,我后来用的XP(XP系统已经注册了不用自己注册)

 2. 在CxxxApp.cpp的InitInstance()函数中添加数据库连接代码,如下。

AfxEnableControlContainer();
    ::CoInitialize(NULL);AfxOleInit();
    HRESULT hr;
    try
    {
        hr = m_pCon.CreateInstance("ADODB.Connection");//创建连接。若电脑没注册成功,则连接就会出错,hr=-2147221164
        if(SUCCEEDED(hr))
        {
            m_pCon->CommandTimeout = 3; //连接延迟设置为3秒
            hr = m_pCon->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=restaurant.mdb","","",adModeUnknown);//连接数据库。此处可能出错,因为mdb文件不兼容(Access2013建的mdb要另存为2000..版本,再在XP上使用)。               
        }
        else
        {
            _com_error e(hr);
            AfxMessageBox(e.ErrorMessage());//hr=-2147221164 没有注册类
        }
    }
    catch(_com_error e)
    {
        CString temp;
        temp.Format("连接数据库错误信息:%s,%s",e.ErrorMessage(),e.Description());
        ::MessageBox(NULL,temp,"提示信息",NULL);
        return FALSE;
    }

 

VC6.0中用ado连接数据库出错

标签:ini   自己   .dll   cat   erro   time   信息   containe   ram   

原文地址:https://www.cnblogs.com/htj10/p/10743109.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!