资源描述:
《c与数据库简单例子》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、最简单的代码{_ConnectionPtrm_pConnection;m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=test.mdb","","",adModeUnknown);///连接数据库}voidCADlg::OnButton1(){_ConnectionPtrm_pConnec
2、tion;HRESULThr;try{hr=m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象if(SUCCEEDED(hr)){//hr=m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=test.mdb","","",adModeUnknown);///连接数据库hr=m_pConnection->Open("driver={SQLSe
3、rver};Server=127.0.0.1;DATABASE=Northwind;UID=sa;PWD=sa","","",adModeUnknown);MessageBox("连接成功");///上面一句中连接字串中的Provider是针对ACCESS2000环境的,对于ACCESS97,需要改为:Provider=Microsoft.Jet.OLEDB.3.51;}}catch(_com_errore)///捕捉异常{CStringerrormessage;errormessage.Forma
4、t("连接数据库失败!r错误信息:%s",e.ErrorMessage());AfxMessageBox(errormessage);///显示错误信息}}ADO第一次亲密接触--ADO开发实践之一一、ADO简介ADO(ActiveXDataObject)是Microsoft数据库应用程序开发的新接口,是建立在OLEDB之上的高层数据库访问技术,请不必为此担心,即使你对OLEDB,COM不了解也能轻松对付ADO,因为它非常简单易用,甚至比你以往所接触的ODBCAPI、DAO、RDO都要容易使用
5、,并不失灵活性。本文将详细地介绍在VC下如何使用ADO来进行数据库应用程序开发,并给出示例代码。本文示例代码二、基本流程万事开头难,任何一种新技术对于初学者来说最重要的还是“入门”,掌握其要点。让我们来看看ADO数据库开发的基本流程吧!(1)初始化COM库,引入ADO库定义文件(2)用Connection对象连接数据库(3)利用建立好的连接,通过Connection、Command对象执行SQL命令,或利用Recordset对象取得结果记录集进行查询、处理。(4)使用完毕后关闭连接释放对象。准备工作
6、:为了大家都能测试本文提供的例子,我们采用Access数据库,您也可以直接在我们提供的示例代码中找到这个test.mdb。下面我们将详细介绍上述步骤并给出相关代码。【1】COM库的初始化我们可以使用AfxOleInit()来初始化COM库,这项工作通常在CWinApp::InitInstance()的重载函数中完成,请看如下代码:BOOLCADOTest1App::InitInstance(){AfxOleInit();......【2】用#import指令引入ADO类型库我们在stdafx.h中加
7、入如下语句:(stdafx.h这个文件哪里可以找到?你可以在FileView中的HeaderFiles里找到)#import"c:programfilescommonfilessystemadomsado15.dll"no_namespacerename("EOF","adoEOF")这一语句有何作用呢?其最终作用同我们熟悉的#include类似,编译的时候系统会为我们生成msado15.tlh,ado15.tli两个C++头文件来定义ADO库。几点说明:(1)您的环境中msado15.d
8、ll不一定在这个目录下,请按实际情况修改(2)在编译的时候肯能会出现如下警告,对此微软在MSDN中作了说明,并建议我们不要理会这个警告。msado15.tlh(405):warningC4146:unaryminusoperatorappliedtounsignedtype,resultstillunsigned【3】创建Connection对象并连接数据库首先我们需要添加一个指向Connection对象的指针:_ConnectionPtrm_pConnection;