《4使用MFCODBC访问数据库》由会员分享,可在线阅读,更多相关《4使用MFCODBC访问数据库(28页珍藏版)》请在金锄头文库上搜索。
1、4使用MFCODBC访问数据库主要内容: MFC ODBC将ODBC API封装在类CDatabase、CRecordSet、CFieldExchange、CRecordView和CDBException中 使用MFC ODBC开发数据库应用程序的一般步骤 使用AppWizard访问数据库 使用类CDatabase连接数据库 使用类CRecordSet打开记录集、获取数据 使用类CRecordSet的函数MoveFirst、MoveLast、MoveNext、MovePrev、IsBOF和IsEOF进行记录集的遍历 使用类CRecordSet的函数AddNew和Update增加记录 使用类CR
2、ecordSet的函数Edit和Update修改记录 使用类CRecordSet的函数Delete删除记录 使用类CDatabase的函数ExecuteSQL直接执行SQL命令 使用类CDatabase的函数BeginTrans、CommitTrans和Rollback处理事务 目录 MFC OBDC技术 . 3 概述. 3 CDatabase类操作数据源 . 3 CFieldExchange类处理数据交换 . 6 CRecordView类显示记录 . 6 CDBException类处理异常 . 7 使用MFC ODBC编程建立应用程序 . 7 MFC ODBC编程模型概述 . 7 通过App
3、Wizard建立数据库应用程序 . 8 使用CDatabase类方法打开数据源 . 8 使用CRecordste类打开记录集. 10 绑定记录集 . 12 参数化记录集和查询 . 13 遍历记录集合 . 15 书签定位和绝对定位 . 16 获取记录集的数据 . 18 添加记录 . 19 删除记录 . 21 修改记录 . 21 直接执行SQL语句 . 22 事务处理 . 23 使用多记录集 . 25 MFC OBDC技术 概述 MFC的ODBC类对较复杂的ODBC API进行了封装,提供了简化的调用接口。MFC的ODBC类主要包括以下5个类: CDatabase类:主要功能是建立与数据源的连接
4、CRecordset类:代表从数据源选择的一组记录 CRecordView类:提供了一个表单视图与某个记录集直接相连,利用对话框数据交替机制在记录集与表单视图的控件之间传输数据 CFieldExchange类:支持记录字段数据交换,即记录集字段数据成员与相应的数据库的表的字段之间的数据交换。 CDBException类:代表ODBC类产生的异常。 CDatabase类操作数据源 CDatabase类型的对象表示一个到数据源的连接,通过它可以操作数据源。 该类的成员函数如下表: 函数 CDatabase Close Open OpenEx BeginTrans BindParameters Ca
5、ncel CommitTrans 构造一个对象 关闭数据源连接 通过一个ODBC驱动程序创建到数据源的连接 通过一个ODBC驱动程序创建到数据源的连接 开始事务 允许在调用CDatabase:ExecuteSQL前绑定参数 取消异步操作或第二条线程中的过程 执行事务 说明 ExecuteSQL Rollback 执行SQL语句,不返回记录 回滚事务,数据源返回先前的状态 该类的属性属性如下表: 属性 CanTransact CanUpdate GetBookmarkPersistence GetConnect 说明 如果数据源支持事务,返回非零 如果CDatabase可以更新,返回非零 获得书
6、签对记录集对象的持久性 返回ODBC连接串 GetCursorCommitBehavior 获得提交事务对记录集对象的影响 GetCursorRollbackBehavior 获得回滚事务对记录集对象的影响 GetDatabaseName IsOpen SetLoginTimeout SetQueryTimeout 返回当前使用的数据库名 如果当前CDatabase对象连接到数据源,返回非零 设置数据源连接的超时数 设置查询操作的超时数 应用程序可使用多个CDatabase类型的对象。构造一个对象并调用Open成员函数打开一个连接。接着构造CRecordset类型的对象以操作连接的数据源,构造
7、时向记录集对象传递CDatabase类型的指针。完成使用后,用Close成员函数销毁CDatabase类型的对象。 一般情况下并不需要直接使用CDatabase类型的对象,因为CRecordset类型的对象可以实现大多数的功能、但是在进行事务处理时,CDatabase就起到关键作用。事务指的是将一系列对数据源的更新放在一起,同时提交或一个都不提交,为的是确保多用户对数据源同时操作时的数据正确性。 CRecordset类操作记录集 一个CRecordset类型的对象代表从数据源选择的一组记录的集合记录集,通过该类的方法实现对数据库中记录的各种操作。 该类常用的数据成员如下表: 成员 m_hstm
8、t m_nFields m_nParams m_pDatabase m_strFilter m_strSort 该类的构造方法如下表: 构造方法 Close CRecordset Open CRecordset类记录集属性如下表: 属性 CanAppend CanBookmark CanRestart CanScroll CanTransact CanUpdate 说明 包含记录集的ODBC陈述句柄,类型为HSTMT 包含记录集中字段数据成员的数量,类型为UNIT 包含记录集中参数数据成员的数量,类型为UNIT 包含一个CDatabase对象指针,通过它访问数据源 包含CString对象,定义SQL中WHERE子句 包含CString对象,定义SQL中ORDER BY子句 说明 关闭记录集和与之相关的HSTMT 构造一个CRecordset对象 通过获得表或