预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共11页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

一、ADO简介ADO(ActiveXDataObject)是Microsoft数据库应用程序开发的新接口,是建立在OLEDB之上的高层数据库访问技术,请不必为此担心,即使你对OLEDB,COM不了解也能轻松对付ADO,因为它非常简单易用,甚至比你以往所接触的ODBCAPI、DAO、RDO都要容易使用,并不失灵活性。本文将详细地介绍在VC下如何使用ADO来进行数据库应用程序开发,并给出示例代码。 (1)、引入ADO类 #include<comdef.h>头文件 #import"c:\programfiles\commonfiles\system\ado\msado15.dll"\ no_namespace\ rename("EOF","adoEOF") (2)、初始化COM 在MFC中可以用AfxOleInit();非MFC环境中用: CoInitialize(NULL); CoUnInitialize(); (3)#import包含后就可以用3个智能指针了 _ConnectionPtr、_RecordsetPtr和_CommandPtr 下面是最简单的一个数据连接实例 try { _ConnectionPtrm_pConnection("ADODB.Connection"); _RecordsetPtrm_pRecordset("ADODB.Recordset"); _CommandPtrm_pCommand("ADODB.Command"); //m_pConnection.CreateInstance("ADODB.Connection"); //m_pRecordset.CreateInstance("ADODB.Recordset"); //m_pCommand.CreateInstance("ADODB.Command"); //如果此初始化有错误,则编译无错,try捕捉到的错误也没有提示!!! //显示为runtimeerror! m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:\\db1.mdb","","",adModeUnknown); m_pCommand->ActiveConnection=m_pConnection;///非常关键的一句,将建立的连接赋值给它 m_pCommand->CommandText="select*from表1";///命令字串 m_pCommand->CommandType=adCmdText;//命令类型 m_pCommand->Parameters->Refresh(); m_pRecordset=m_pCommand->Execute(NULL,NULL,adCmdUnknown); _variant_tvUsername; while(!m_pRecordset->rsEOF) { vUsername=m_pRecordset->GetCollect("姓名"); m_name=(LPCTSTR)(_bstr_t)vUsername;//须加入#include<comdef.h>头文件 m_pRecordset->MoveNext(); } m_pRecordset->Close(); m_pRecordset=NULL; m_pConnection->Close(); UpdateData(FALSE);//不更新则编辑框无显示 } catch(_com_error&e) { ::MessageBox(NULL,e.Description(),"警告-Recordset",MB_OK|MB_ICONWARNING); } //************************************************************ //如果使用MicrosoftDatagrid控件来显示数据库那么必须 //不使用Command直接打开记录集 //事先在程序界面中加入一个Datagrid,并关联一个控制变量,m_grid _ConnectionPtrm_pConnection("ADODB.Connection"); _RecordsetPtrm_pRecordset("ADODB.Recordset"); _CommandPtrm_pCommand("ADODB.Command"); m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=db1.mdb","","",adModeUnknown); m_pRecordset