VC中ADO操作数据库教案.docVIP

  • 2
  • 0
  • 约4.36万字
  • 约 34页
  • 2017-09-08 发布于湖北
  • 举报
用ADO操作数据库的方法步骤 用ADO操作数据库的方法步骤 /***********************ADO接口简 ADO库包含三个基本接口:_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。 _ConnectionPtr接口返回一个记录集或一个空指针。 通常使用它来创建一个数据连接或执行一条不返回任何结果的SQL语句,如一个存储过程。 使用_ConnectionPtr接口返回一个记录集不是一个好的使用方法。 通常同Cdatabase一样,使用它创建一个数据连接,然后使用其它对象执行数据输入输出操作。 _CommandPtr接口返回一个记录集。 它提供了一种简单的方法来执行返回记录集的存储过程和SQL语句。 在使用_CommandPtr接口时,你可以利用全局_ConnectionPtr接口,也可以在_CommandPtr接口里直接使用连接串。 如果你只执行一次或几次数据访问操作,后者是比较好的选择。 但如果你要频繁访问数据库,并要返回很多记录集,那么,你应该使用全局_ConnectionPtr接口创建一个数据连接, 然后使用_CommandPtr接口执行存储过程和SQL语句。 _RecordsetPtr是一个记录集对象。 与以上两种对象相比,它对记录集提供了更多的控制功能,如记录锁定,游标控制等 。同_CommandPtr接口一样,它不一定要使用一个已经创建的数据连接, 可以用一个连接串代替连接指针赋给_RecordsetPtr的connection成员变量,让它自己创建数据连接。 如果你要使用多个记录集,最好的方法是同Command对象一样使用已经创建了数据连接的全局_ConnectionPtr接口 ,然后使用_RecordsetPtr执行存储过程和SQL语句。 /***********************基本流程***********************************/ (1)初始化COM库,引入ADO库定义文件 (2)用Connection对象连接数据库 (3)利用建立好的连接,通过Connection、Command对象执行SQL命令,或利用Recordset对象取得结果记 录集进行查询、处理。 (4)使用完毕后关闭连接释放对象。 /***********************【1】COM库的初始化***********************************/ 我们可以使用AfxOleInit()来初始化COM库,这项工作通常在CWinApp::InitInstance()的重载函数中完 成,请看如下代码: BOOL CADOTest1App::InitInstance() { AfxOleInit(); } /*****************【2】用#import指令引入ADO类型库**********************/ 我们在stdafx.h中加入如下语句: #import c:\program files\common files\system\ado\msado15.dll no_namespace rename(EOF,adoEOF) 其最终作用同我们熟悉的#include类似,编译的时候系统会为我们生成msado15.tlh,ado15.tli两个C++头文件来定义ADO库。 /***************【3】创建Connection对象并连接数据库********************/ 首先我们需要添加一个指向Connection对象的指针: _ConnectionPtr m_pConnection; BOOL CADOTest1Dlg::OnInitDialog() { CDialog::OnInitDialog(); try { HRESULT hr = m_pConnection.CreateInstance(ADODB.Connection);//创建Connection对象 if(SUCCEEDED(hr)) { hr = m_pConnection-Open(Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb,,,adModeUnknown);//连接数据库 //上面一句中连接字串中的Provider是针对ACCESS2000环境的,对于ACCESS97,需要改为:Provider=Microsoft.Jet.OLEDB.3.51; } } } catch (_com_error e) //COM错误取得,当执行COM功能的时候,如果出错,可以

文档评论(0)

1亿VIP精品文档

相关文档