mfc 应用ado 连接 sql 数据库
本人初学ado连接,下面是一个最简单的程序(书中的例子),奈何总是失败,请各位指教本人是菜鸟,请大家莫怪首先我建立了一个mfc对话框然后头文件加入了ado#import"...
本人初学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的数据源,可是我查阅了一下似乎不用?
请各位大大指点! 展开
本人是菜鸟,请大家莫怪
首先我建立了一个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的数据源,可是我查阅了一下似乎不用?
请各位大大指点! 展开
2个回答
展开全部
教你个连接数据库的方法。首先新建一个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";然后再连接试试。
如果还不行,把你的邮箱发给我,我给你发个连接数据库的类。挺好用的
_bstr_t strConnect ="File Name=EPXLDT.udl";然后再连接试试。
如果还不行,把你的邮箱发给我,我给你发个连接数据库的类。挺好用的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询