预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

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

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

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

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

c++ADO连接数据库 需要的两个封装文件ADOConn.h和ADOConn.cpp,加载进项目里面,然后创建ADOConn对象,就可以使用相关功能及函数了。 总的来说,ADO库包含三个基本接口:_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。 _ConnectionPtr接口返回一个记录集或一个空指针。通常使用它来创建一个数据连接或执行一条不返回任何结果的SQL语句,如一个存储过程。使用_ConnectionPtr接口返回一个记录集不是一个好的使用方法。对于要返回记录的操作通常用_RecordserPtr来实现。而用_ConnectionPtr操作时要想得到记录条数得遍历所有记录,而用_RecordserPtr时不需要。_CommandPtr接口返回一个记录集。它提供了一种简单的方法来执行返回记录集的存储过程和SQL语句。在使用_CommandPtr接口时,你可以利用全局_ConnectionPtr接口,也可以在_CommandPtr接口里直接使用连接串。如果你只执行一次或几次数据访问操作,后者是比较好的选择。但如果你要频繁访问数据库,并要返回很多记录集,那么,你应该使用全局_ConnectionPtr接口创建一个数据连接,然后使用_CommandPtr接口执行存储过程和SQL语句。_RecordsetPtr是一个记录集对象。与以上两种对象相比,它对记录集提供了更多的控制功能,如记录锁定,游标控制等。同_CommandPtr接口一样,它不一定要使用一个已经创建的数据连接,可以用一个连接串代替连接指针赋给_RecordsetPtr的connection成员变量,让它自己创建数据连接。如果你要使用多个记录集,最好的方法是同Command对象一样使用已经创建了数据连接的全局_ConnectionPtr接口,然后使用_RecordsetPtr执行存储过程和SQL语句。 下面来个例子。例子是未使用自定义封装。使用自己加载的两个文件,仅仅是将例子中的方法封装到里面只提供了一个使用接口。 #include<iostream> #include<stdio.h> #include<ICRSINT.H> #include<string> usingnamespacestd; #import"c:\programfiles\commonfiles\system\ado\msado15.dll"no_namespacerename("EOF","adoEOF") //这是导入连接数据库的库文件,必须的,而且这个字符串基本可以不变。 //对于MFC程序,使用自己的封装时需要添加下面几句到stdafx.h中 //#include<mmsystem.h> //#pragmacomment(lib,"winmm.lib") //#import"C:\ProgramFiles\commonfiles\system\ado\msado15.dll"no_namespacerename("EOF","adoEOF") voidmain() { CoInitialize(NULL);//初始化Com库,这个不懂不重要,你照做就是了 _ConnectionPtrpMyConnect=NULL;//这是个对象指针,关于对象指针的内容可以百度一下,不过不理解也就算了 HRESULThr=pMyConnect.CreateInstance(__uuidof(Connection)); //将对象指针实例化 if(FAILED(hr)) { cout<<"_ConnectionPtr对象指针实例化失败!"<<endl; return; } //_bstr_tstrConnect="Driver={sqlserver};server=qiany;uid=;pwd=;database=pubs";//SQLSERVER //这是连接到SQLSERVER数据库的连接字符串,其中的参数要自己改 _bstr_tstrConnect="Provider=OraOLEDB.Oracle;DataSource=orcl;UserId=scott;Password=m123;";//ORACLE,这个是连接oracle的驱动,具体数据库连接的驱动要修改 //这是连接到Oracle数据库的连接字符串,其中的参数也要自己改 //connectingtothedatabaseservernow: try{pMyConnect->Open(strConnect,"","",NULL);}//连接到数据库,要捕捉异常 catch(_com_error&e){ cout<<e.ErrorMessage()<<endl; } //连接到数据库后,开始执