mfc 应用ado 连接 sql 数据库

来源:百度知道 编辑:UC知道 时间:2024/06/07 14:34:25
本人初学ado连接,下面是一个最简单的程序(书中的例子),奈何总是失败,请各位指教
本人是菜鸟,请大家莫怪

首先我建立了一个mfc 对话框
然后头文件加入了ado #import "c:\................."
再然后定义了一个Connection 对象 _ConnecectionPtr m_pConnection
再之后就是在生成对话框的程序中加入下列代码
::CoInitialize(NULL);
try
{
m_pConnection.CreateInstance("ADODB.Connection");
_bstr_t strConnect = "Provider = SQLOLEDB.1;Password=111;Persist Security Info=True ;User Id=root; Initial Catalog=test; Data Source=localhost;";
m_pConnection->Open(strConnect,"","",adModeUnknown);
if( m_pConnection->State==adStateOpen) MessageBox("连接数据库");
m_pConnection->Close();
if( m_pConnection->State==adStateClosed) MessageBox("断开连接");
}
catch(_com_error e)
{
AfxMessageBox(e.ErrorMessage());
}

可以运行,但是在判断是否连接的时候,判断语句明显占用了很多资源而且直接跳过
同时捕捉到了未知异常

这是我的全部步骤,有人说需要设置odbc的数据源,可是我查阅了一下似乎不

教你个连接数据库的方法。首先新建一个txt文件,把他命名为aaa.udl然后双击它配置数据库的连接。配置好连接成功后,将该文件放置程序文件夹内。连接数据库时将你的_bstr_t strConnect = "Provider = SQLOLEDB.1;Password=111;Persist Security Info=True ;User Id=root; Initial Catalog=test; Data Source=localhost;"; 这一句改为:
_bstr_t strConnect ="File Name=EPXLDT.udl";然后再连接试试。
如果还不行,把你的邮箱发给我,我给你发个连接数据库的类。挺好用的

m_pConnection->Close(); //光关闭数据库连接不行的,还要释放com环境
//下面添加代码:
::CoUninitialize();