预览加载中,请您耐心等待几秒...
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