如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第七章数据库编程7.1数据库概述7.2ODBC7.3创建ODBC数据库的应用程序7.4DAO与ODBC7.5ADO概述本章小结习题7.1数据库概述数据库是数据的集合,它是由一个或多个表组成。每个表中都存储了对一类对象的数据描述。表的每一列描述了对象的一个属性,而表的每一行则是对一个对象的具体描述。一般将表中的一行称作记录(record)或行(row)。数据库通常还包括一些附加结构用来维护数据。若一个数据库只有一个表,则称之为简单数据库。若数据库由多个相关的表组成,则称其为关系数据库。关系数据库用关键字段将它的表联系起来。DBMS(数据库管理系统)是一套程序,用来定义、管理和处理数据库与应用程序之间的联系,例如Foxpro、Access、Sybase等都是DBMS。通常使用的数据库都是关系数据库。访问关系数据库需要使用某种数据库描述语言,最常用的数据库语言就是结构化查询语言。结构化查询语言SQL(StructuredQueryLanguage)最早由IBM提出,是专门用来处理关系数据库的基于文本的语言。VC的数据库接口7.2ODBCCDatabase类的成员函数数据库属性:GetConnect返回用于连接CDatabase对象和数据源的ODBC连接字符串。IsOpen如果CDatabase对象当前与数据源连接,则返回非零值;用于检测CDatabase对象是否与某个数据源相连。GetDatabaseName返回当前使用的数据库名称。CanUpdate如果CDatabase可更新(非只读),则该函数返回非零;用于检测数据库是否可更新。数据库操作:ExecuteSQL直接执行一条SQL语句。忽略任何结果或错误。Cancel删除一次异步操作。CRecordset类提供了应用程序与数据源交互的实际操作.用来封装对数据库的查询、修改和删除等操作。一个Crecordset对象代表从数据源选出的一组记录集。构造:CRecordset构造一个Crecordset对象,应用程序的派生类必须提供一个调用该成员函数的构造函数。Open:Close:记录集属性:CanAppend如果新记录通过AddNew成员函数增加到记录集中,则返回非零;用于检测某个记录集是否允许用户添加新记录。CanUpdate检测某个记录集是否能被更新。GetRecordCount返回记录集中的记录数目。GetTableName获取记录集所基于的表名。IsOpen如果前面已调用Open函数,则返回非零。用于检测当前记录集合是否已经打开。IsBOF用于检测记录指针是否定位在当前记录集合的第一个记录的前面。IsEOF用于检测记录指针是否定位在最后一条记录之后。IsDeleted如果记录集已定位在一个删除的记录上,则返回非零。记录集更新:AddNew为增加新记录作准备,然后调用Update以完成增加。Close关闭当前的记录集合。Delete删除当前的记录。CancelUpdate取消所有由AddNew或Eidt操作引起发的待决的更新操作。Eidt编辑当前记录。记录集导向操作:Move将记录集双向定位到距离当前记录指定数目记录的位置。Movefirst将当前记录定位为记录集中的第一个记录。MoveLast将当前记录定位为记录集中的最后一个记录。MoveNext将当前记录定位为记录集中的下一个记录。MovePrev将当前记录定位为记录集中的前一个记录。SetAbsolutePosition将记录集上按指定的记录号定位记录。DoFieldExchange在多行记录操作尚未完成期间,在字段和记录集合之间交换数据。其他:Requry再次运行查询,从而刷新记录Cancel请求数据源取消某个操作。CRecordset类的数据成员有:CRecordView允许使用对话框以数据交换的方式直接从记录集显示数据。它基本上是一个视图,从一个对话框模板创建资源,在对话框模板的控件中显示Ceecordset对象的字段。CRecordView对象只有几个成员函数IsOnFirstRecord用于检测当前记录是否是某个记录集合中的第一个记录;IsOnLastRecord用于检测当前记录是否是某个记录集合中的最后一个记录;OnGetRecordset返回一个指针,指向与当前记录相关连的CRecordset对象;OnMove若当前记录已经改变,在数据源上更新它然后,将记录指针移动到指定的记录上7.3创建ODBC数据库的应用程序创建ODBC数据库程序必须完成以下操作:(1)注册数据库,建立数据源;(2)使用AppWizard创建基本的数据库应用程序(3)显示数据库表的内容。演示书上的Myodbc程序用MFC进一步编写