资源描述
,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,*,第八章 数据库应用程序的设计,瞿斌,主讲,第八章 数据库应用程序的设计,VB6,.0,提供的数据库访问技术及可访问的数据库系统,数据库应用程序概述,数据控件,Data,和,Adodc,数据列表框控件和数据组合框控件,数据网格控件,DataGrid,,,DBGrid,8,.1,VB6,.0,提供的数据库访问技术及可访问的数据库系统,数据库访问技术,1),数据访问对象,DAO,2),远程数据对象,RDO,3),开放式数据库互连,ODBC,4)ActiveX,数据对象,ADO,可访问的数据库,1,JET,数据库,即,Microsoft Access,2,ISAM,数据库,如:,dBase,,,FoxPro,等,3,ODBC,数据库,凡是遵循,ODBC,标准的客户,/,服务器数据库。如:,Microsoft SQL Server,、,Oracle,数据库系统,DBS,一、数据库系统,(,DataBase,System,DBS),的组成,计算机硬件,Hardware,数据库,Database,DB,数据库管理系统,Soft ware,应用程序,Application,用户,User,存储数据库及运行,DBMS,的硬件资源,包括主机、存储设备、,IO,通道等。,负责数据库存取、维护和管理的软件资源,以一定方式组织在一起、存储在外部存储设备上、能共享、与应用程序独立的相关数据集合,在,DBMS,基础上,由用户开发的、能处理特定业务的应用程序,管理、开发、使用数据库系统的所有人员,数据库管理员,应用程序员,终端用户,8.2,数据库应用程序概述,硬件,OS,语言编译,DBMS,应用程序,软硬件的层次关系,8.2,数据库应用程序概述,二、数据库的基本概念,数据库的特点,数据结构化,数据独立性,数据共享,数据模型,层次模型,网状模型,关系模型,8.2,数据库应用程序概述,3,.,数据库管理系统,DBMS,数据描述语言,DDL,数据操纵语言,DML,数据库管理功能,小型数据库管理系统:,Access,dBase,Btrieve,VFP,Paradox,大型数据库管理系统,:SQL Server,SyBase,Oracle,IBM DB2,8.2,数据库应用程序概述,三、结构化的查询语言,SQL,:定义、操纵、查询,命令动词:,Select,Update,Insert,Delete,Create,Drop,对象:数据库、表、视图、字段等,介词子句:,From,Into,限定符:,where,条件 或,on,条件,顺序限定符:,order by,或,group by,如:,Select,学号,姓名,班级,出生日期,from stud,Delete*from stud where,班级,=“,信管,001”,8.2,数据库应用程序概述,四、开放式数据库连接,ODBC,简介,ODBC,是微软提出的允许利用,SQL,语句查询数据的一种标准,它可为数据库应用程序与数据库建立连接提供公共编程接口,ODBC,的体系结构,8.2,数据库应用程序概述,ODBC,数据源的创建和应用,8.2,数据库应用程序概述,五、规划和创建数据库和表,8.3,数据控件,Data,和,Adodc,一、,Data,控件的功能,建立应用程序与数据库的连接通道,二、,Data,控件的主要任务,与本地或远程数据库连接,基于,SQL,查询,打开指定的数据库表或定义记录集,传送数据字段的值到绑定的控件上,根据绑定控件的数据变化,插入或更新数据库记录,捕获访问数据时出现的错误,关闭数据库,8.3,数据控件,Data,和,Adodc,三、,Data,控件的主要属性,Name:Data,控件的名称,DatabaseName,:,确定数据控件访问哪一个数据库,如:,Data1.DatabaseName=“H:,myvbTongxunlu.mdb,”,RecordSource,:,确定数据控件的记录集,即,:,所要访问的数据内容。它可以是一个表名、存储查询名或,SQL,语句。,如:,Data1.RecordSource,=Register,或,Data1.RecordSource,=“SELECT*FROM Register WHERE BIRTHDAY#1/1/1973#,8.3,数据控件,Data,和,Adodc,Connect:,指定打开的数据库类型,并且包括参数,如用户和口令等。,1),打开,Access,数据库(缺省),CONNECT=“ACCESS”2),打开,ODBC,数据库,CONNECT=“ODBC,;,uid,=,用户名;,pwd,=,口令;,dsn,=,数据源名,;Database=,数据库路径;,Driver=,驱动程序名”,RecordType,:,确定记录集,Recordset,对象的类型,0-Table ,表,1-Dynaset ,动态集,数据库表或查询结果,2-Snapshot ,快照类型,记录集合的静态副本,可用于查询,和生成报表,8.3,数据控件,Data,和,Adodc,四、,Data,控件的记录集,RecordSet,对象:数据库表内的记录集合或查询所得的记录结果集合,1),记录集对象的赋值:,Set,Data1.Recordset=,MyRecordSet,2),利用记录集对象访问某些字段,Data1.Recordset(“,姓名,”)=“,李明,”,Data1.Recordset(“,年龄”,)=23,Data1.RecordSet.Update,8.3,数据控件,Data,和,Adodc,五、,Data,控件常用的数据绑定控件,绑定控件,可以绑定的字段数据类型,CheckBox,逻辑型或具有开关属性的字段,Image,位图文件或长二进制型图片文件字段,Label,数值、日期、字符串型字段,PictureBox,位图文件或长二进制型图片文件字段,TextBox,数值、日期、字符串型字段,ComboBox,数值、日期、字符串型字段,ListBox,数值、日期、字符串型字段,OLE,容器控件 照片、电子表格、,Word,文档等,OLE,字段,8.3,数据控件,Data,和,Adodc,数据绑定控件的数据识别属性,DataChanged,:,指示绑定控件内显示的数据是否发生变化,DataSource,:指定要绑定的,Data,控件名,DataField,:,指定,Data,控件内的有效字段,数据绑定控件应用实例,8.3,数据控件,Data,和,Adodc,六、,Data,控件操纵的数据集的常用方法和事件,AddNew,方法:添加一个新记录到数据库中,注意:当,Data,控件的,EOFAction,属性设置为,2,时,若移动数据超过最后的记录时,,Data,控件将自动创建新记录,Data1.Recordset.AddNew,Edit,方法:编辑修改一条已经存在的字段,Data1.Recordset.Edit,!,ChineseName,=“,李明,”!,用于引导缓冲区记录的字段名,!,OfficePhone,=“80798461”,Data1.RecordSet.Update,Update,方法:,更新记录集,若修改显示在绑定控件内的某条记录的数据后,使用,data,控件向前向后移动,这是系统自动调用,Update,方法处理已修改的记录,8.3,数据控件,Data,和,Adodc,Delete,方法:删除当前记录,Data1.Recordset.Delete,MoveFirst,MoveLast,MoveNext,MovePrivous,方法:移动当前记录,if Data1.Recordset.BOF Then,MsgBox,“,前面没有记录”,,48,,,”,前移操作”,Exit Sub,Else,Data1.Recordset.MovePrivous,8.3,数据控件,Data,和,Adodc,FindFirst,FindLast,FindNext,FindPrivous,方法:在记录集内查找记录,Data1.Recordset.FindFirst “,ChineseName,=,李*,”,Data1.Recordset.FindLast,“,ChineseName,=,李*,”,Data1.Recordset.FindNext “,ChineseName,=,李*,”,Data1.Recordset.FindPrivous“,ChineseName,=,李*,”,Refresh,方法:用于记录集刷新,当记录集为查询的结果集时,如果结果集发生变化,需调用,refresh,方法关闭并重新打开结果集,Data1.RecordSource=select*from contact where,ChineseName,=&Text10.Text&“,Data1.Refresh,8.3,数据控件,Data,和,Adodc,Seek,方法:在表型记录集中定位记录,表名,.seek,比较字符串 关键字值,1,,关键字值,2,使用书签,Bookmark,移动到指定的记录位置,记录集的,Bookmark,属性主要保存当前记录指针,Dim,myBookmark,as Variant,myBookmark,=data1.Recordset.Bookmark,Data1.Recordset.MoveFirst,data1.Recordset.Bookmark=,myBookmark,8.3,数据控件,Data,和,Adodc,七、,Adodc,控件,Adodc,是基于,ADO,对象的数据控件,使用方法与,Data,控件差不多,但,Data,是基于,DAO,的。,ADO,可访问本地数据库,也可访问远程数据库。,ADO,是以后发展的趋势,将替代,DAO,和,RDO,。,ADO,(,Active Data Objects,):,ADO,实 际 是 一 种 提 供 访 问 各 种 数 据 类 型 的 连 接 机 制。,ADO,是 基 于,OLE-DB,之 上 的 技 术,,它,通 过 其 内 部 的 属 性 和 方 法 提 供 统 一 的 数 据 访 问 接 口 方 法。不 止 适 合 于,SQL Server,、,Oracle,、,Access,等 数 据 库 应 用 程 序,也 适 合 于,Excel,表 格、文 本 文 件、图 形 文 件 和 无 格 式 的 数 据 文 件。,DAO,(,Data Access Objects,):是 一 种 面 向 对 象 的 界 面 接 口。通 过,Jet,功 能 可 以 访 问,ISAM,数 据 库,使 用,DAO/ODBC Direct,功 能 可 以 实 现 远 程,RDO,功 能。,8.3,数据控件,Data,和,Adodc,1.,Adodc,控件的主要属性,ConnectionString,:,设定与数据源连接的字符串。,ConnectionTimeout,:,等待连接成功的时间(秒)。超时将出错。,RecordSource,:,记录集的数据源,指定要访问的记录集数据内容。,CommandType,:,指明形成记录集的命令的类型,,1-adCmdText,表示形成记录集的是,SQL,命令,,2-adCmdTable,表示记录集由表构成,,4-adCmdStoredProc,由存储过程生成记录集,,8-adCmdUnknown,未知命令类型。,MaxRecord,:,每次从数据库中取的最大记录数。,Mode:,数据库打开模式,,0,是未知;,1,是只读;,2,是写;,3,是读写;,16,是可共享读写;,4,是不可共享读;,8,是不可共享写;,12,是不共享。,RecordSet,:,记录集。,8
展开阅读全文