文档介绍:VC++中使用ADO方式操作ACCES数据库
2005 年 12 月 12 日 13:35 天极 yesky
ADO(ActiveX Data Object)是Microsoft 数据库应用程序开发的新接口, 是建立在OLEDB
之上的高层数据库访问技术,即使你对 OLEDB COM不了解也能轻松对付 ADO因为它非常简
单易用,甚至比你以往所接触的 ODBCAPI、DAO RDO都要容易使用,并不失灵活性。本文详
细地介绍在Visual C++开发环境下如何使用 ADO来进行数据库应用程序开发,并给出示例代 码。为了使读者朋友都能测试本例提供的代码, 我们采用Access数据库,您可以直接在我们
提供的示例代码中找到这个 。程序编译运行后的效果如图一所示:
图一、ADO操作ACESS数据库的界面效果图
、实现方法
万事开头难,任何一种新技术对于初学者来说最重要的还是 ”入门",掌握其要点。让我
们来看看ADO数据库开发的基本流程吧!它的基本步骤如下:
(1)初始化COM库,引入ADO库定义文件
(2 )用Connection对象连接数据库
(3)利用建立好的连接,通过Conn ection > Comma nd对象执行 SQL命令,或利用Recordset 对象取得结果记录集进行查询、处理。
(4)使用完毕后关闭连接释放对象。
F面我们将详细介绍上述步骤并给出相关代码。
1、COM库的初始化
我们可以使用 AfxOlelnit()来初始化 COM库,这项工作通常在 CWinApp::lnitlnstance()
的重载函数中完成,请看如下代码 :
2、用#import指令引入ADO类型库
为了引入ADO类型库,需要在项目的 :
#import "c:\program files'common files\system\ado\"
no_namespace rename("EOF","adoEOF")
这一语句有何作用呢?其最终作用同我们已经十分熟悉的 #include类似,编译的时候系
统会为我们生成 ,++头文件来定义 ADO库。
需要读者朋友注意的是: 您的开发环境中 , 请按实际情
况修改;在编译的时候可能会出现如下警告, 对此微软在MSDN中作了说明,并建议我们不
要理会这个警告: (405) : warning C4146: unary minus operator applied to un sig ned type, result still unsigned。
3、创建Conn ection对象并连接数据库
为了首先我们需要添加一个指向 Conn ection对象的指针_Co nn ectio nPtr m_pCo nn ecti on ,
F面的代码演示了如何创建 Connection对象实例及如何连接数据库并进行异常捕捉:
{
hr = ("");/〃 创建 Connection 对象 if(SUCCEEDED(hr))
{
hr = m_pConnection->Open("Provider=Microsoft .J ;
Data Source=","","",adModeUnknown);/〃 连接数据库
//上面一句中连接字串中的 Provider是针对ACCESS2000环境的,对于 ACCESS97 ,
// 需要改为:Provider=;
}
}
catch(_com_error e)/// 捕捉异常
{
CString errormessage;
(”连接数据库失败!\r\n 错误信息:%s",());
AfxMessageBox(errormessage);/// 显示错误信息
}
在这段代码中我们是通过 Connection对象的Open方法来进行连接数据库的,下面是该
方法的原型:
HRESULT Connection15::Open ( _bstr_t ConnectionString, _bstr_t UserID, _bstr_t Password, long
Options );
上述函数中参