- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
VC++中使用
VC++中使用ADO方式操作ACCESS数据库
ADO(ActiveXDataObject)是Microsoft数据库应用程序开发的接口,是建立在OLEDB之上的高层数据库访问技术,即使你对OLEDB,COM不了解也能轻松应付ADO,由于它格外简洁易用,甚至比你以往所接触的ODBCAPI、DAO、RDO都要简洁使用,并不失敏捷性。本文具体地介绍在VisualC++开发环境下如何使用ADO来进展数据库应用程序开发,并给出例如代码。为了使读者朋友都能测试本例供给的代码,我们承受Access数据库,您可以
直接在我们供给的例如代码中找到这个test.mdb。程序编译运行后的效果如图一所示:
图一、
图一、ADO操作ACESS数据库的界面效果图
一、实现方法
万事开头难,任何一种技术对于初学者来说最重要的还是
万事开头难,任何一种技术对于初学者来说最重要的还是“入门“,把握其要点。让我
们来看看ADO数据库开发的根本流程吧!它的根本步骤如下:
〔
〔1〕初始化COM库,引入ADO库定义文件
〔
〔2〕用Connection对象连接数据库
〔
〔3〕利用建立好的连接,通过Connection、Command对象执行SQL命令,或利用Recordset
对象取得结果记录集进展查询、处理。
〔
〔4〕使用完毕后关闭连接释放对象。
下面我们将具体介绍上述步骤并给出相关代码。
下面我们将具体介绍上述步骤并给出相关代码。
1
1、COM库的初始化
我们可以使用
我们可以使用AfxOleInit来初始化COM库,这项工作通常在CWinApp::InitInstance
的重载函数中完成,请看如下代码:
BOOL
BOOLCADOTest1App::InitInstance
{
{
AfxOleInit;
AfxOleInit;
......
......
}
}
2、用#import指令引入ADO类型库
为了引入ADO类型库,需要在工程的stdafx.h文件中参加如下语句:
#import
#import“c:\programfiles\commonfiles\system\ado\msado15.dll“
no_namespacerename(“EOF“,“adoEOF“)
这一语句有何作用呢?其最终作用同我们已经格外生疏的
这一语句有何作用呢?其最终作用同我们已经格外生疏的#include类似,编译的时候系
统会为我们生成msado15.tlh,ado15.tli两个C++头文件来定义ADO库。
需要读者朋友留意的是:您的开发环境中
需要读者朋友留意的是:您的开发环境中msado15.dll不肯定在这个名目下,请按实际状况修改;在编译的时候可能会消灭如下警告,对此微软在MSDN中作了说明,并建议我们不要理睬这个警告:msado15.tlh(405):warningC4146:unaryminusoperatorappliedto
unsignedtype,resultstillunsigned。
3、创立Connection对象并连接数据库
为了首先我们需要添加一个指向
为了首先我们需要添加一个指向Connection对象的指针_ConnectionPtrm_pConnection,
下面的代码演示了如何创立Connection对象实例及如何连接数据库并进展特别捕获:
BOOL
BOOLCADOTest1Dlg::OnInitDialog
{
CDialog::OnInitDialog;
CDialog::OnInitDialog;
tryHRESULThr;
try
{
if(SUCCEEDED(hr))hr=m_pConnection.CreateInstance(“ADODB.Connection“);///创立Connection对象
if(SUCCEEDED(hr))
{
hr
hr=m_pConnection-Open(“Provider=Microsoft.Jet.OLEDB.4.0;
Data
DataSource=test.mdb“,““,““,adModeUnknown);///连接数据库
//需要改为:Provider=Microsoft.Jet.OLEDB.3.51;//上面一句中连接字串中的Provider是针对ACCESS2023环境的,对于ACCESS97
//需要改为:Provider=Microsoft.Jet.OLEDB.3.51;
}
}
}
catch(_com_error
catch(_com
文档评论(0)