《数据库应用程序的设计》由会员分享,可在线阅读,更多相关《数据库应用程序的设计(37页珍藏版)》请在金锄头文库上搜索。
1、第八章 数据库应用程序的设计,瞿斌 主讲,第八章 数据库应用程序的设计,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数据库,凡是遵循OD
2、BC标准的客户/服务器数据库。如:Microsoft SQL Server、Oracle,数据库系统 DBS,一、数据库系统(DataBase System, DBS)的组成,计算机硬件 Hardware,数据库 Database,DB,数据库管理系统 Soft ware,应用程序 Application,用户 User,存储数据库及运行DBMS的硬件资源,包括主机、存储设备、IO通道等。,负责数据库存取、维护和管理的软件资源,以一定方式组织在一起、存储在外部存储设备上、能共享、与应用程序独立的相关数据集合,在DBMS基础上,由用户开发的、能处理特定业务的应用程序,管理、开发、使用数据库系统的
3、所有人员,数据库管理员 应用程序员 终端用户,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 数据库应用程序概述,三、
4、结构化的查询语言SQL:定义、操纵、查询 命令动词:Select, Update, Insert, Delete, Create, Drop 对象:数据库、表、视图、字段等 介词子句:From, Into 限定符:where条件 或 on 条件 顺序限定符:order by 或group by 如:Select 学号,姓名,班级,出生日期 from studDelete * from stud where 班级 = “信管001”,8.2 数据库应用程序概述,四、开放式数据库连接ODBC简介 ODBC是微软提出的允许利用SQL语句查询数据的一种标准, 它可为数据库应用程序与数据库建立连接提供公
5、共编程接口 ODBC的体系结构,8.2 数据库应用程序概述,ODBC数据源的创建和应用,8.2 数据库应用程序概述,五、规划和创建数据库和表,8.3 数据控件Data和Adodc,一、Data控件的功能建立应用程序与数据库的连接通道 二、 Data控件的主要任务 与本地或远程数据库连接 基于SQL查询, 打开指定的数据库表或定义记录集 传送数据字段的值到绑定的控件上 根据绑定控件的数据变化,插入或更新数据库记录 捕获访问数据时出现的错误 关闭数据库,8.3 数据控件Data和Adodc,三、Data控件的主要属性 Name: Data控件的名称 DatabaseName:确定数据控件访问哪一个
6、数据库, 如: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”
7、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 = MyRecordSet2
8、) 利用记录集对象访问某些字段Data1.Recordset(“姓名”) = “李明”Data1.Recordset(“年龄”) = 23Data1.RecordSet.Update,8.3 数据控件Data和Adodc,五、Data控件常用的数据绑定控件绑定控件 可以绑定的字段数据类型CheckBox 逻辑型或具有开关属性的字段Image 位图文件或长二进制型图片文件字段Label 数值、日期、字符串型字段PictureBox 位图文件或长二进制型图片文件字段TextBox 数值、日期、字符串型字段ComboBox 数值、日期、字符串型字段ListBox 数值、日期、字符串型字段OLE容器控
9、件 照片、电子表格、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方法:编
10、辑修改一条已经存在的字段Data1.Recordset.Edit! ChineseName = “李明” !用于引导缓冲区记录的字段名! OfficePhone = “ 80798461”Data1.RecordSet.Update Update方法:更新记录集,若修改显示在绑定控件内的某条记录的数据后,使用data控件向前向后移动,这是系统自动调用Update方法处理已修改的记录,8.3 数据控件Data和Adodc,Delete方法:删除当前记录Data1.Recordset.Delete MoveFirst, MoveLast, MoveNext, MovePrivous 方法:移动当前
11、记录if Data1.Recordset.BOF ThenMsgBox “前面没有记录”,48,”前移操作”Exit SubElseData1.Recordset.MovePrivous,8.3 数据控件Data和Adodc,FindFirst, FindLast, FindNext, FindPrivous方法:在记录集内查找记录Data1.Recordset.FindFirst “ChineseName= 李* ”Data1.Recordset.FindLast “ChineseName= 李* ”Data1.Recordset.FindNext “ChineseName= 李* ”Dat
12、a1.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移动到指定的记录位置记录集的Bookm
13、ark属性主要保存当前记录指针Dim myBookmark as VariantmyBookmark = data1.Recordset.BookmarkData1.Recordset.MoveFirstdata1.Recordset.Bookmark = myBookmark,8.3 数据控件Data和Adodc,七、Adodc控件Adodc是基于ADO对象的数据控件,使用方法与Data控件差不多,但Data是基于DAO的。 ADO可访问本地数据库,也可访问远程数据库。ADO是以后发展的趋势,将替代DAO和RDO。ADO(Active Data Objects):ADO 实 际 是 一 种
14、提 供 访 问 各 种 数 据 类 型 的 连 接 机 制。 ADO 是 基 于OLE-DB 之 上 的 技 术, 它 通 过 其 内 部 的 属 性 和 方 法 提 供 统 一 的 数 据 访 问 接 口 方 法。不 止 适 合 于SQL Server、Oracle、Access 等 数 据 库 应 用 程 序, 也 适 合 于Excel 表 格、 文 本 文 件、 图 形 文 件 和 无 格 式 的 数 据 文 件。DAO(Data Access Objects): 是 一 种 面 向 对 象 的 界 面 接 口。 通 过Jet 功 能 可 以 访 问ISAM 数 据 库, 使 用DAO/
15、 ODBC Direct 功 能 可 以 实 现 远 程RDO 功 能。,8.3 数据控件Data和Adodc,1. Adodc控件的主要属性 ConnectionString:设定与数据源连接的字符串。 ConnectionTimeout:等待连接成功的时间(秒)。超时将出错。 RecordSource:记录集的数据源,指定要访问的记录集数据内容。 CommandType:指明形成记录集的命令的类型,1-adCmdText表示形成记录集的是SQL命令,2-adCmdTable表示记录集由表构成,4-adCmdStoredProc由存储过程生成记录集,8-adCmdUnknown未知命令类型。
16、 MaxRecord:每次从数据库中取的最大记录数。 Mode:数据库打开模式,0是未知;1是只读;2是写;3是读写;16是可共享读写;4是不可共享读;8是不可共享写;12是不共享。 RecordSet:记录集。,8.3 数据控件Data和Adodc,ConnectionString属性的设置-1:,8.3 数据控件Data和Adodc,ConnectionString 属性的设置-2:,8.3 数据控件Data和Adodc,ConnectionString 属性的设置-3:,8.3 数据控件Data和Adodc,RecordSource属性的设置,8.3 数据控件Data和Adodc,2. 可与Adodc绑定的控件 所有可与Data绑定的内部控件如CheckBox, Image, Label, PictureBox , TextBox, ComboBox, ListBox, OLE容器控件 外部ActiveX控件: DBList, DBCombo,DataList, DataCombo, DataGrid,DataRepeater注意: DataGrid只能与Adodc控件绑定, 而DBGrid只能与Data控件绑定,