您的位置:首页 > 编程语言 > C语言/C++

VC++中使用ADO连接数据库step by step

2011-03-14 21:51 561 查看
Demo下载:

http://download.csdn.net/source/3090499

最近坛子里经常有人问起在VC++中ADO访问数据库的问题,有的要么是连接字符串不正确,要么是忘了COM的初始化,还有的根本就没有导入ADO动态库文件(msado15.dll,也有自定义的)。在此本人做了一个使用ADO访问数据库的演示demo,从最基础的使用MFC新建工程文件开始,一步步的完成数据库访问的搭建。
Step 1:
打开Microsoft
Visual C++ 6.0,File->New->Projects中选择”MFC AppWizard(exe)”,右边的project name输入工程文件夹的名称:ADOConnTest,Location选择要保存该工程文件夹的路径,其他默认,点”OK”,进入下一步。保持默认语言,type of application选择”Dialog
based”,点”Next”进入特性选择,把复选框的”√”都去掉,点”Next”,保持复选框的默认选项,继续”Next”->”Finish”->”OK”,至此,一个基本的MFC框架建立起来了。
Step 2:
搭建测试环境:将TODO所在的对话框去掉,放上一个按钮,在按钮上右键选择”Properties”,”Caption”的输入框中键入“数据库连接测试”,其他默认。
Step 3:
添加代码:
1)
导入msado15.dll动态库文件:
打开”StdAfx.h”,在代码的最后面添加:

#import "c:/program files/common files/system/ado/msado15.dll" /
no_namespace /
rename ("EOF", "adoEOF")

ADO所有用到的MFC类都是在这里定义的。
2)
添加测试代码:
打开CADOConnTestDlg.cpp文件,定位到CADOConnTestDlg的OnConnection()方法(也可以双击”数据库连接测试”按钮直接进入),依次添加代码如下:
//COM初始化
try
{
AfxOleInit();
}
catch(_com_error & e)
{
AfxMessageBox("COM初始化失败!");
}
//定义并初始化连接字符串,我这里测试的是Access数据库
_bstr_t ConnectionString(_T("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D://SCO_DHIDCW3.mdb;Persist Security Info=False"));

//定义连接指针,作为连接数据库的入口地址
_ConnectionPtr m_pConnection;

//定义实例句柄,并创建连接实例
HRESULT hr;
hr = m_pConnection.CreateInstance("ADODB.Connection");

//测试数据库是否连接成功
if(SUCCEEDED(hr))
{
try
{
hr = m_pConnection->Open(ConnectionString, "", "", adModeUnknown);
if(m_pConnection->State)//连接指针的状态,true表示连接成功,false表示失败
{
AfxMessageBox("数据库连接成功!");
}
else
{
AfxMessageBox("数据库连接失败!");
}
}
catch(_com_error & e)
{
AfxMessageBox(e.Description());
}

}
else
{
AfxMessageBox("CreateInstance失败!");
}
//关闭数据库连接
if( m_pConnection->State)
m_pConnection->Close();

下面是测试连接的截图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: