1、第第10章章 数据库应用程序开发基础数据库应用程序开发基础 1.了解数据库中的基本概念;了解数据库中的基本概念;2.掌握用掌握用VB内部的可视化数据管理器建立数据库和内部的可视化数据管理器建立数据库和SQL语句的基本方法及数据控件和数据绑定控件的常语句的基本方法及数据控件和数据绑定控件的常用属性、方法、事件;用属性、方法、事件;3.熟练掌握用熟练掌握用VB开发一个简单的数据库应用程序的步开发一个简单的数据库应用程序的步骤和方法。骤和方法。本章学习目标本章学习目标10.1数据库基础10.1.1 数据库概念数据库概念1.数据库管理系统数据库管理系统(DBMS)2.数据库数据库(DateBase)3
2、.数据库应用程序是使用户能够获取、显示和更新数据库应用程序是使用户能够获取、显示和更新由由DBMS管理的数据的用户程序。管理的数据的用户程序。4.数据库系统(数据库系统(Database System)主要由数据库管)主要由数据库管理系统、数据库和数据库应用程序三大部分组成。理系统、数据库和数据库应用程序三大部分组成。10.1.2关系数据库基础关系数据库基础 根据数据模型,即实现数据结构化所采用的联系方式,数据库可以分为层根据数据模型,即实现数据结构化所采用的联系方式,数据库可以分为层次数据库次数据库、网状数据库网状数据库和关系数据库关系数据库。关系数据库的有关概念关系数据库的有关概念 1 关
3、系(表)关系(表)在关系数据库中,数据以关系的形式出现,可以把关系理解成一张二维表在关系数据库中,数据以关系的形式出现,可以把关系理解成一张二维表(Table)。)。2 记录(行)记录(行)每张二维表均由若干行和列构成,其中每一行称为一条记录(每张二维表均由若干行和列构成,其中每一行称为一条记录(Record)3 字段(列)字段(列)二维表中的每一列称为一个字段(二维表中的每一列称为一个字段(Field),每一列均有一个名字,称为字段名,各),每一列均有一个名字,称为字段名,各字段名互不相同。字段名互不相同。4 主键主键 关系数据库中的某个字段或某些字段的组合定义为主键(关系数据库中的某个字段
4、或某些字段的组合定义为主键(Primary Key)。每条记录)。每条记录的主键值都是唯一的,这就保证了可以通过主键唯一标识一条记录。的主键值都是唯一的,这就保证了可以通过主键唯一标识一条记录。5索引索引 为了提高数据库的访问效率,表中的记录应该按照一定顺序排列,通常建立一个较为了提高数据库的访问效率,表中的记录应该按照一定顺序排列,通常建立一个较小的表小的表索引表,该表中只含有索引字段和记录号。通过索引表可以快速确定要访问索引表,该表中只含有索引字段和记录号。通过索引表可以快速确定要访问记录的位置。记录的位置。10.1.3 VB数据库应用程序的组成数据库应用程序的组成 VB6.0数据库应用程
5、序由用户界面、数据库引擎和数数据库应用程序由用户界面、数据库引擎和数据库据库3大部分组成。大部分组成。1.用户界面用户界面 用户界面包括用于与用户交互的界面和代码,如对数据库记录进行添加、删除、修改、查询等操作的VB代码,完成查询和数据更新的窗体等。2.数据库引擎数据库引擎 数据库引擎是一组动态链接库(DLL),主要任务是解释应用程序的请求并形成对数据库的物理操作,管理对数据库的物理操作,维护数据库的完整性和安全性,处理SQL语言的查询操作,实现对数据库的检索、添加、删除等,管理查询返回的结果等。3.数据库数据库 数据库只包含数据,而对数据的操作都是由数据库引擎来完成。10.1.4 用户与数据
6、库引擎的接口用户与数据库引擎的接口1.数据控件数据控件(Data Control)用数据控件可以不经过编程而访问数据库。根据需要设置好数据控件的属性后,即可通过诸如文本框之类的控件与数据库绑定,从而实现对数据库中各个记录的访问。2.数据访问控件数据访问控件(DAO)数据访问对象是由Microsoft Jet 数据库引擎定义的对象,是通过程序访问数据库的对象结构。3.ActiveX数据对象数据对象(ADO)ADO是VB6.0为数据访问提供的全新技术。ADO是一种建立在最新数据访问接口OLE DB之上的高性能的、统一的数据访问对象,通过它可以访问文件数据库、客户/服务器数据库甚至非关系型数据库。1
7、0.1.5 VB可以访问数据库的类型可以访问数据库的类型1.VB6.0数据库数据库 VB6.0数据库文件使用与Microsoft Access相同的格式,也称为内部数据库或本地数据库。2.外部数据库外部数据库 在VB6.0中,能够创建和操作所有“索引顺序访问方法(ISAM)”数据库,如Foxpro、Foxbase、Paradox等,还可以访问电子表格软件Microsof Excel 或 Lotus 123、文本文件数据库等。3.ODBC数据库数据库 VB6.0可以访问ODBC标准的客户/服务器数据库,如Microsoft SQL Server等。10.2 VB可视化数据管理器可视化数据管理器1
8、0.2.1数据管理器的功能和操作数据管理器的功能和操作1、可视化数据管理器可视化数据管理器 VisDataVisData是一个为是一个为VB6.0VB6.0应用程序建立和管理数据库的极好工具。使用可视化数应用程序建立和管理数据库的极好工具。使用可视化数据管理器建立的数据库是据管理器建立的数据库是Access数据库(类型名为数据库(类型名为.mdb),可以被),可以被Access直接打开直接打开和操作。和操作。2.打开打开VisData 可以从VB6.0中启动VisData程序。先打开VB窗口,然后在集成环境菜单栏上选择“外接程序可视化数据管理器”如图101所示,即可启动VisData。10.2
9、.2用数据库管理器建立数据库用数据库管理器建立数据库1.建立数据库结构建立数据库结构 以建立一个如下结构的学生表以建立一个如下结构的学生表为例:为例:(1)在)在“可视化数据管理器可视化数据管理器”窗口中执行窗口中执行“文件文件”菜单中的菜单中的“新建新建”命命令(假设选择令(假设选择Microsoft Access,版本,版本7.0 MDB)后,弹出如图)后,弹出如图13-4所示的对所示的对话框。话框。(2)在对话框中选择数据库文件保存的位置,并输入文件名后(保存类)在对话框中选择数据库文件保存的位置,并输入文件名后(保存类型只能是型只能是MDB)单击保存按钮,将打开如图)单击保存按钮,将打
10、开如图13-5所示的建立数据表窗口。所示的建立数据表窗口。(3)右击数据库窗口,在弹出的菜单中选择)右击数据库窗口,在弹出的菜单中选择“新建表新建表”命令,打开如图命令,打开如图13-6所示的所示的“表结构表结构”对话框。对话框。图图13-5 建立数据表窗口建立数据表窗口图图10-14“表结构表结构”对话框对话框 (4)在)在“表结构表结构”对话框中输入表名后,单击对话框中输入表名后,单击“添加字段添加字段”按钮,在弹出的按钮,在弹出的如图如图13-7所示的所示的“添加字段添加字段”对话框中输入字段名,选择字段类型(对话框中输入字段名,选择字段类型(Text类型字段类型字段还需输入字段大小)。
11、重复此过程直至添加完所有字段后,单击还需输入字段大小)。重复此过程直至添加完所有字段后,单击“关闭关闭”按钮。按钮。图10-15 “添加字段”对话框 3 建立索引建立索引 单击单击“表结构表结构”对话框的对话框的“添加索引添加索引”按钮,在弹出的对话框中(如图按钮,在弹出的对话框中(如图13-8所示)输入索引名称,选择索引字段后,单击所示)输入索引名称,选择索引字段后,单击“确定确定”按钮即完成了索引的建立按钮即完成了索引的建立过程。过程。图图10-16 “添加索引添加索引”对话框对话框图图 示示“数据库数据库”窗口窗口2.修改表结构修改表结构 在数据库窗口中用鼠标右击要修改的表名称,选择“设
12、计”选项,打开“表结构”对话框,即可对表的结构进行修改。3.输入数据记录输入数据记录 建立表结构后,可以把记录数据输入到表中。输入数据时,可以分为使用数据控件、不使用数据控件、使用DBGrid控件3种方式操作。4.删除记录删除记录(1)使用DBGrid控件(2)不使用DBGrid控件10.3数据控件和数据绑定控件数据控件和数据绑定控件 10.3.1数据控件的外观和功能数据控件的外观和功能 1.数据控件的外观数据控件的外观 在工具箱中双击数据控件图标,或单击该控件后在窗体上拖动画出控件,都可以看到数据控件的外观及各个按钮提供的基本功能如图1026所示。2.数据控件的功能数据控件的功能 数据控件用
13、于将一个数据源连接到一个数据绑定控件,数据源可以是DAO/Jet或ODBC。使用数据控件可以完成以下功能而不需要编写任何代码。(1)完成对本地和远程数据库的连接。(2)打开指定数据库的表,或者是基于SQL的查询集。(3)将表中的字段传值至数据绑定控件,并针对数据绑定控件的修改更新数据库。(4)捕获访问数据时出现的错误。(5)关闭数据库。10.3.2数据控件和数据绑定控件的常用属性数据控件和数据绑定控件的常用属性一、数据控件的主要属性一、数据控件的主要属性 1.Connect属性属性指定数据库类型指定数据库类型 VB可识别的数据库有:可识别的数据库有:MDB文件、文件、DBF文件、文件、DB文件
14、、文件、DF文件和文件和ODBC数据库数据库 2.DatabaseName属性属性指定具体使用的数据库。指定具体使用的数据库。3.RecordType属性属性确定记录集合类型。确定记录集合类型。4.RecordSource属性属性确定具体可访问的数据表。确定具体可访问的数据表。5.EofAction和和BofAction属性决定数据控件要采取的操作。属性决定数据控件要采取的操作。6.RedaOnly属性用于控制能否对记录集进行写操作。属性用于控制能否对记录集进行写操作。要使关联控件能被数据库约束,必须对控件的两个属性进行设置:要使关联控件能被数据库约束,必须对控件的两个属性进行设置:7.Dat
15、aSource属性通过指定一个有效的数据控件连接一个数据库。属性通过指定一个有效的数据控件连接一个数据库。8.DataField属性设置数据库有效的字段。属性设置数据库有效的字段。二、数据绑定控件常有的属性二、数据绑定控件常有的属性 数据控件用于数据文件的连接,但没有显示数据记录的能力。因此,数据控件还数据控件用于数据文件的连接,但没有显示数据记录的能力。因此,数据控件还要和其他控件相结合,才能对数据库中的记录进行操作,这些与数据控件相结合来操要和其他控件相结合,才能对数据库中的记录进行操作,这些与数据控件相结合来操作记录的控件,称为数据绑定控件。作记录的控件,称为数据绑定控件。数据绑定控件通
16、过数据绑定控件通过DataSource属性和属性和Datafield属属性来连接某个数据控件。性来连接某个数据控件。1.DataSource 该属性提供一个下拉式列表,用户可从中选择要连接的数据控件名称,数据绑定控该属性提供一个下拉式列表,用户可从中选择要连接的数据控件名称,数据绑定控件通过该属性绑定到一个数据控件。件通过该属性绑定到一个数据控件。2.DataField DataSource属性指定数据绑定控件需要的表信息。属性指定数据绑定控件需要的表信息。Datafield属性指定表中的某个字段属性指定表中的某个字段作为该控件所要显示和更新的内容。作为该控件所要显示和更新的内容。10.3.3
17、使用使用Recordset对象访问数据库对象访问数据库1.Recordset对象的主要属性对象的主要属性Recordset对象的主要属性如表对象的主要属性如表105所示。所示。属性名 设置值及意义EOF表示该记录指针是否在Recordset中的最后一条记录之后,逻辑型。BOF表示该记录指针是否在Recordset中的第一条记录之前,逻辑型。NoMatch该属性值为True时表示未找到匹配项,逻辑型。RecordCount返回一个表示该Recordset对象所包含的记录数。AbsolutePosition返回或设置一个表示该Recordset对象的当前记录的绝对位置。Fields包含一个Reco
18、rdset所存储的字段对象集合。Sort返回或设置一个Recordset对象中的记录排列顺序。Type返回表示该Recordset属于表、Dynaset或Snapshot类型的值。表表10-5 Recordset对象的主要属性对象的主要属性2.Recordset对象的主要方法Recordset对象的主要方法如表106所示。方法名功能Move方法群组MoveFirst将控件定位到第一条记录。MoveLast将控件定位到最后一条记录。MovePrevious将控件定位到前一条记录。MoveNext将控件定位到后一条记录。AddNew增加新记录。Delete删除当前记录。Update更新当前记录。E
19、dit将记录复制到缓冲区,以便编辑该记录。Find方法群组FindFirst查找指定条件的第一条记录。FindLast查找指定条件的最后一条记录。FindPrevious查找指定条件的前一条记录。FindNext查找指定条件的后一条记录。Move记录指针移动到指定的行数(/)。Close关闭该Recordset对象记录。Requery通过再次运行查询来更新一个Recordset对象中的数据。Seek通过已被设置为索引的字段查找符合条件的记录。表表10-6 Recordset对象的主要方法对象的主要方法10.4ADO数据控件 10.4.1ADO数据控件 ADO数据控件是ActiveX控件,要创建
20、一个客户或前端数据库应用程序,应再窗体中添加ADO数据控件Adodc以及其他所需的任何VB控件。为了使用ADO数据控件,需通过“工程部件”向工具箱中添加“Microsoft ADO Data Control 6.0(OLE DB)”(Adodc控件)、“Microsoft DataList Control 6.0(OLE DB)”(DataList、DataCombo控件)、“Microsoft DataGrid Control 6.0(OLE DB)”(DataGrid控件)、“Microsoft Hierarchical FlexGrid Control 6.0(OLE DB)”(MSHF
21、lexGrid控件)等,这些控件在工具箱中的图标如图1032所示。1.用Adodc控件连接数据库并创建数据源2.Adodc控件的主要属性和方法控件的主要属性和方法(1)Connectionstring属性该属性指定有效的与数据源连接的字符串,通过该字符串使Adodc控件与指定的数据库建立连接。(2)RecordSource属性设置或返回记录集的SQL查询语句或表名,字符串类型。(3)CommandType属性说明执行命令的类型,数值型。(4)Recordset属性对象型,返回或设置对下一级ADO Recordset对象的引用。该对象的属性、方法和用法与Data控件的Recordset对象相似。
22、(5)Refresh方法打开或重新打开连接的数据源,并能重建控件的Recordset属性。3.Adodc控件的主要事件(1)WillMove/MoveComplete事件更改Recordset中的当前记录指针位置前/后引发。(2)WillChangeRecord/RecordChangeComplete事件在Recordset中的一个或多个记录更改前/后引发。(3)WillChangeField/FieldChangeComplete事件对Recordset中的一个或多个Field对象值进行更改前/后引发。10.4.ADO对象模型 ADO对象模型定义了一个可编程的分层对象集合,主要包括3个对象
23、:连接对象(Connection)、命令对象(Command)、记录集对象(Recordset)。ADO对象的分工见表1010所示。1.ADO的Connection对象图图1038 ADO对象模型对象模型 2.ADO的Command对象 命令对象(Command)定义了将对数据源执行的指定命令,作用相当于一个查询。使用Command对象查询数据库,并返回Recordset对象中的记录,以便执行大量操作或处理数据库结构。(1)Command对象的主要属性ActiveConnection属性:设置或返回指定的Command对象当前所属的Connection对象。CommandText属性:设置或返
24、回命令(SQL语句、表名)的字符串值。CommandType属性:指示Command对象的类型。(2)Command对象的主要方法Execute方法用于执行在CommandText中指定的查询、SQL语句。3.ADO的的Recordset对象对象(1)Source属性用于指示Recordset对象中数据的来源(可以是Command对象、SQL语句或表的名称)。(2)ActiveConnection属性用于设置或返回指定的Recordset对象当前所属的Connection对象。(3)Open方法用于打开表、查询结果或者以前保存的Recordset中记录集。(4)UpdateBatch方法用于更
25、新记录集。10.4.3结构化查询语言结构化查询语言SQL 一、一、SQL概述概述 结构化查询语言SQL是操作数据库的工业标准语言。在SQL语言中,指定要做什么而不是怎么做。只要告诉SQL需要数据库做什么,可以确切指定想要检索的记录以及按什么顺序检索。可以在设计或运行时对数据控件使用SQL语句。用户提出一个查询,数据库返回所有与该查询匹配的记录。1.SQL语言与分类语言与分类SQL语言具有以下功能语言具有以下功能:(1)在数据库中查找并返回符合条件的记录。在数据库中查找并返回符合条件的记录。(2)创建、更改和删除数据库中的表、字段和索引等。)创建、更改和删除数据库中的表、字段和索引等。(3)可以
26、对表中的数据进行统计,如计算总和、平均值等)可以对表中的数据进行统计,如计算总和、平均值等标准标准SQL语言的分类:语言的分类:(1)数据查询DQL(2)数据操作语言DML(3)数据定义语言DDL 2.VB环境下SQL的使用方法(1)在VisData中,先打开一个数据库,如“F:水利水电教材用学生管理系统Stud05.mdb”,SQL语句窗口中输入SQL语句如:SELECT*FROM 学籍,单击“执行”命令按钮,运行结果如图1039所示。(2)在ADO/DAO对象编程中设置RecordSource属性,或在Connection对象、Command对象的Excute方法和Recordset对象的
27、Open方法中的命令串中使用SQL语句。二、二、SQL数据查询语句数据查询语句1.SQL语句基本格式S E L E T ES E L E T E A L L|D I S T I N C T A l i a s.S e l e c t _ I t e m A S Column_Name,Alias.Select_ItemAS Column_NameFROMFROMTable_NameASLocal_Alias,Table_NameASLocal_Alias,WHEREWHEREGROUP BYGROUP BY groupfieldlistORDER BYORDER BY ASC|DESC其中:A
28、LL或*:指定选取所有满足条件的记录。DISTINCT:有两个以上相同记录时,仅选择一个。Select_Item:选择表的字段名,多个字段名之间用逗号相隔。Column_Name:查询结果显示时,显示的列标题名,省略时显示字段名。Table_Name:获取数据的表或视图名称,多个表名间显示字段名。Local_Alias:数据源表或视图的别名,Select子句中的Alias与它相同。WHERE:建立一个子句,指定返回的查询结果应满足的条件。GROUP BY:按照选定的字段将查询结果分组。ORDER BY:指明返回的查询结果按哪些字段、按升序(ASC)还是降序(DESC)排序。多个字段名之间用逗号
29、相隔。2.有条件的SELECT查询语句 设定WHERE子句中的条件表达式,可获得满足条件的查询结果。在条件表达式中,SQL提供的基本运算符有:算术运算符、关系运算符和逻辑运算符。此外SQL还增加了一组运算符:Between运算符:用于数值或日期类型的字段。Between运算符:用于数值或日期类型的字段。Like运算符:用于找出符合指定条件的字段值。Like中可以使用的特殊字符见表1014。如找出姓名以“刘”开始的学生的学籍情况用:姓名 Like“刘*”。In运算符:判断表达式的数值是否等于指定列表(集合)中几个数据项中的一个。例例10108 SQL8 SQL语言示例二(查询均在学籍表中)语言示
30、例二(查询均在学籍表中)(1 1)查询姓名为)查询姓名为“刘小芳刘小芳”的学生信息。的学生信息。SELECT*FROM 学籍学籍 WHERE 姓名姓名”刘小芳刘小芳”提示提示:在在SQL中字符串用单引号或双引号均可中字符串用单引号或双引号均可。3.组合查询 组合查询是指所查询的数据源来自多个表格。在这种情况下,被查询的多个表中每两个表至少有一个字段数据相同,且两个表格相互比较的字段,其数据类型必须相同,一个复杂的查询其用到的表可能会有很多个。4.分组查询 在SELECT语句中利用GROUP BY 子句将查询结果按该子句后指定的字段名(最多10个)分组显示。例1010 SQL语言示例四。按学号分
31、组显示学生的学号,姓名,课程,分数。所用的查询语句是:SELECT 学籍.学号,学籍.姓名,成绩.课程,成绩.分数 FROM 学籍,成绩 WHERE 学籍.学号=成绩.学号 ORDER BY 学籍.学号5.分类统计的SELECT语句在SELECT语句的字段名表中,可以使用以下几个常用的统计函数:COUNT(字段名):返回满足条件的记录数,不包括Null值字段。除非字段名用“*”.SUM(字段名):返回指定字段值的总和(不包括Null值字段)。AVG(字段名):返回指定字段值的算术平均值(不包括Null值字段)。MAX(字段名):返回指定字段的最大值。MIN(字段名):返回指定字段的最小值。例1
32、011 SQL语言示例五。(1)统计学籍表男生的总人数。SELECT COUNT(*)AS 男生人数 FROM 学籍 WHERE 性别=男三、SQL数据操作语句1.INSERT语句 INSERT语句用来向表中添加一个或多个记录 2.UPDATE语句UPDATE语句用来更新指定记录的指定字段的数据。3.DELETE语句DELETE语句用来删除指定表中的记录。四、数据绑定控件在VB6.0的标准控件中,具有数据绑定功能的控件有:复选框(CheckBox)、文本框(TextBox)、列表框(ListBox)、组合框(ComboBox)、标签(Lable)、图片框(PictureBox)、图像框(Ima
33、ge)等。另外VB6.0中还提供了许多具有数据绑定功能的ActiveX控件,如:数据列表框(DBList)、数据组合框(DBCombo)、数据网格控件(DataGrid)、分层式网格控件(Hierarchical FlexGrid)、图表控件(MSChart)等。一般情况下,数据绑定控件使用以下3个属性进行属性绑定。(1)DataSource(数据源)该属性指定控件要绑定到那个数据源。这些数据源可以式已经创建好的ADO数据控件、数据环境、数据类模块以及用代码创建的ADO记录集对象。(2)DataMember(数据成员)该属性指定控件要绑定到数据源中的哪个命令,即哪个记录集。对于ADO数据控件和
34、用代码创建的ADO记录集对象,由于只有一个记录集,不必指定该属性。(3)DataField(数据字段)该属性指定控件要绑定到记录集中的哪个字段。由于各种网格和图表控件绑定到整个记录集,因而这几种控件不必指定该属性。一般情况下,数据绑定控件使用以下3个属性进行属性绑定。(1)DataSource(数据源)该属性指定控件要绑定到那个数据源。这些数据源可以式已经创建好的ADO数据控件、数据环境、数据类模块以及用代码创建的ADO记录集对象。(2)Datamember(数据成员)该属性指定控件要绑定到数据源中的哪个命令,即哪个记录集。对于ADO数据控件和用代码创建的ADO记录集对象,由于只有一个记录集,
35、不必指定该属性。(3)DataField(数据字段)该属性指定控件要绑定到记录集中的哪个字段。由于各种网格和图表控件绑定到整个记录集,因而这几种控件不必指定该属性。1.用数据绑定控件显示数据用数据绑定控件显示数据ADO数据控件连接数据库并创建数据源后,若要显示数据库中的记录,最简单的方式使通过各种数据绑定控件。数据绑定控件被“绑定”到整个记录集或记录集的某个字段上。2.DataGrid控件的使用控件的使用 DataGrid控件可一次显示多个记录,并将数据的更改自动更新到数据库中。使用DataGrid控件时,将DataSource属性设置为一个ADO Data控件。程序运行时,DataGrid控
36、件将显示ADO控件创建的Recordset对象中的记录。例1016 DataGrid控件应用举例(略)10.5数据环境设计器10.5.1数据环境设计器概述数据环境设计器概述 数据环境设计器是一个功能非常强大的创建数据库应用程序的形象化界面。使用环境设计器,只需要通过几个对话框就可以建立到数据源或记录源的连接。它比使用ADO数据控件要友好。数据环境设计器界面如图10-45所示:使用数据环境设计器,可以完成以下工作()添加一个数据环境设计器到一个VB工程中。()创建Connection对象。()基于存储过程、表、视图、同义词和SQL语句创建Command对象。()基于Command对象的一个分组,
37、或通过一个或多个Command对象相关来创建Command的层次结构。()为Connection和Recordset对象编写和运行代码。()从数据环境设计器中拖动一个Command对象中的字段到一个VB窗体或数据报表设计器。10.5.2Connection对象对象 Connection对象代表与数据源进行的惟一会话。对象代表与数据源进行的惟一会话。数据环境设计器可以在数据环境设计器可以在设计时创建一个或多个设计时创建一个或多个ConnectionConnection对象,连接到本地数据库或网络数据源。对象,连接到本地数据库或网络数据源。在数据环境设计器被创建时,自动添加了一个连接对象在数据环境
38、设计器被创建时,自动添加了一个连接对象Connection1。选。选择择Connection对象并右击鼠标,选择对象并右击鼠标,选择“属性属性”命令,或单击数据环境设计器命令,或单击数据环境设计器工具栏上的工具栏上的“属性属性”图标,可以打开数据链接属性对话框,如图图标,可以打开数据链接属性对话框,如图1046所示。所示。10.5.3Command对象对象 要操作数据源的数据,就要先创建要操作数据源的数据,就要先创建Command对象。对象。Command对象可以查询数对象可以查询数据库返回的据库返回的Recordset对象中的记录,也可以进行数据库操作或处理数据库结构。对象中的记录,也可以进
39、行数据库操作或处理数据库结构。创建了创建了Connection对象之后,有两种方法创建对象之后,有两种方法创建Connection对象对象Command1,选中一个选中一个Connection对象如对象如Connection1,在数据环境设计器工具栏上单击,在数据环境设计器工具栏上单击“添加添加命令命令”按钮,添加一个按钮,添加一个Command1对象;或在对象;或在Connection对象上右击鼠标,在快对象上右击鼠标,在快捷菜单上选择捷菜单上选择“添加命令添加命令”,添加一个,添加一个Command1对象。结果如图对象。结果如图1047所示。所示。1.设置设置Command对象的属性对象的
40、属性 选中一个Command对象,右击鼠标在快捷菜单中选择“属性”,或者在数据环境设计器工具栏上单击“属性”图标,都可以打开属性对话框。2.创建分组记录集创建分组记录集 层次结构记录集适用于希望从多个表中检索数据。但是它不能把数据合并到一个单一的表中。创建层次结构有两种方法,一种是通过父命令和子命令对象来创建,另一种是使用属性对话框的“分组”选项卡。3.创建合计数据创建合计数据 在属性对话框的“合计”选项卡,可以为记录集或层次结构记录集创建合计数据。可以在分组层次的基础上定义合计,也可以为所有的记录集定义总数。合计数据将作为层次结构记录集的一部分出现。10.6数据报表设计器和报表数据报表设计器
41、和报表10.6.1数据报表设计器数据报表设计器1.数据报表设计器在集成开发环境的菜单栏上选择“工程添加Data Report(添加数据报表)”选项,即可在当前工程中添加一个数据报表设计器。此外,创建数据工程时系统自动创建一个数据报表(DataReport)对象并添加到工程中。数据报表对象的默认名是“DataReport1”。2.数据报表的界面一个完整的报表应包含以下区域:一个完整的报表应包含以下区域:(1)表报标头)表报标头/报表注脚报表注脚(2)页标头)页标头/页注脚页注脚(3)分组标头)分组标头/分组注脚分组注脚(4)细节)细节10.6.2用数据报表设计器创建报表用数据报表设计器创建报表
42、在数据报表设计器中,用鼠标拖放操作即可完成创建和打印报表的操作,几乎不用书写一行代码。创建报表一般包含以下步骤:(1)建立报表要使用的)建立报表要使用的ADO记录源。记录源。(2)在)在VB工程中加入一个数据报表对象。工程中加入一个数据报表对象。(3)将字段放在数据报表设计窗体上,设计报表结构。()将字段放在数据报表设计窗体上,设计报表结构。(4)在程序中编)在程序中编写显示报表的代码。写显示报表的代码。(5)预览和打印报表。预览和打印报表。10.6.3报表控件的使用报表控件的使用在数据报表中不能使用VB的标准控件。在工具箱中单击“数据报表”部件选项卡,可在工具箱中显示6中专门用于数据报表的控
43、件。数据报表控件与对应VB标准控件的功能和使用方法类似。表1016列出了数据报表控件的功能。控件名称对应的标准控件说明RptLabelLabel显示静态文本RptTextBoxTextBox显示字段内容RptLineLine显示直线RptShapeShape显示正方形等图形RptFuncyion-显示计算字段RptImageImage显示图片10.6.4预览、打印和导出报表预览、打印和导出报表1.预览报表预览报表 预览报表有两种方法:将报表窗体设置为启动对象;添加菜单或命令按钮,在菜单预览报表有两种方法:将报表窗体设置为启动对象;添加菜单或命令按钮,在菜单或命令按钮的或命令按钮的Click事件
44、过程中调用数据报表的事件过程中调用数据报表的Show和和PrintReport方法。方法。2.2.打印报表打印报表(1)在预览时打印报表在预览时打印报表(2)用用PrintReport方法方法3.3.导出报表导出报表(1)预览时导出报表)预览时导出报表 预览报表时,在报表窗体的工具栏上单击预览报表时,在报表窗体的工具栏上单击“导出导出”按钮,即可导出当前报按钮,即可导出当前报表。表。(2)用)用ExportReport方法方法 预览报表时,在报表窗体的工具栏上单击预览报表时,在报表窗体的工具栏上单击“导出导出”按钮,即可导出当前报按钮,即可导出当前报表。表。第11章 管理信息系统的开发本章学习
45、目标本章学习目标通过本章学习,应该:通过本章学习,应该:掌握应用系统分析、设计的基本方法;掌握应用系统分析、设计的基本方法;掌握安装程序的制作方法。掌握安装程序的制作方法。管理信息系统(管理信息系统(MIS)是人们借助计算机进行企事业)是人们借助计算机进行企事业现代化管理的重要手段。随着可视化的第四代程序设计现代化管理的重要手段。随着可视化的第四代程序设计语言的出现,快速原型法已经成为语言的出现,快速原型法已经成为MIS开发的常用方法。开发的常用方法。本章以快速原型法为例介绍应用系统设计的方法以及应本章以快速原型法为例介绍应用系统设计的方法以及应用程序的分发方法。用程序的分发方法。11.1 管
46、理信息系统设计方法11.1.1管理信息系统及其组成管理信息系统(Management Information Systems 简称 MIS)是由人和计算机等组成的系统,它能实测企业的各种运行情况,能利用过去的数据预测未来,能从全局出发辅助企业进行决策,利用信息控制企业的活动并帮助实现其规划目标。管理信息系统是由信息的采集、传递、存储、加工、维护和使用6个方面组成。管理信息系统是一个人造的系统,需要从系统观点出发,运用系统工程的方法,按照系统发展的客观规律来展研制工作。11.1.2 管理信息系统的生命周期管理信息系统的发展是无止境的,一个系统用了几年后,可能出现新情况、新问题,提出新要求。这时,
47、再次改进系统目标,又要更新系统。这种周期循环叫做系统的生命周期。管理信息系统的开发要经历系统分析、系统设计和系统实施等三大阶段,每个阶段又分若干子阶段。1系统分析系统分析是系统开发的第一阶段,包括可行性分析和需求分析,其目标是确定用户对目标系统的要求。(1)可行性分析。可行性研究主要几种在技术可行性、经济可行性、法律可行性等方面。(2)需求分析。由于目标系统通常源于当前系统但又往往高于当前系统因此需求分析总是在现有系统上进行的,其任务是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统“做什么”的问题。需求分析的步骤是:调查研究当前系统的工作状况。对调查内容进行分析和抽象,列出用户许
48、可的目标系统需求。对列出的需求进行数据分析,即确定目标系统中使用的全部数据并对他们进行定义;同时对列出的需求进行功能分析,以确定用户对目标系统数据处理功能的需求。2系统设计系统设计是在对现行系统详细分析的基础上,根据系统分析的结果,确定具体的系统实现方案,即根据新系统的逻辑模型建立新系统的物理模型,其任务是解决“怎样做”的问题。系统设计包括数据库设计、输入输出设计、系统结构设计、模块设计。(1)数据库设计。通常将数据库设计过程分为以下3个步骤:概念设计。实现设计。物理设计。(2)输入输出设计:根据用户的使用习惯设计输入输出方式、数据的输入输出格式(包括屏幕格式和报表格式)及输入输出数据内容。(
49、3)系统结构设计:根据需求分析阶段确定的新系统的目标、功能和逻辑模型,把系统功能划分为若干个子系统,明确各子系统的子目标和子功能,然后按层次划分功能模块,并画出系统结构图。(4)模块设计:确定功能模块子功能的实现方法,通常还要将模块进一步细化为多个子模块,模块的划分要遵循模块的独立性强、相互之间联系小、模块大小合适的原则。3系统实施系统实施是指新系统的具体实现、运行和维护。主要任务是物理系统(计算机硬件系统、网络设备等)的实施、应用程序的编写与调试、系统安装、系统维护和评价。11.1.3管理信息系统的开发方法和界面特点1开发方法(1)结构化的生命周期法结构化的生命周期法,是把管理信息系统的生命
50、周期分为系统分析、系统设计和系统实施等三大阶段,强调采用系统工程的思想核方法严格区分上述工作阶段来完成信息系统的整个开发过程。在整个开发过程中强调文档的规范化及标准化。(2)快速原型法快速原型法摒弃了严格区分管理信息系统生命周期各个阶段的方式,而是一开始就凭借开发人员对用户需求的理解,利用强有力的开发工具实现一个实实在在的系统模型(称为原型),即开发一个不太完善,也不一定完全符合用户需求的管理信息系统(或整个系统的一部分),这个模型表达开发人员对用户需求的理解和他认为系统实现后的形式。然后开发人员和用户一起对这个模型进行评价,并以用户为主对模型的不足之处提出改进意见。根据评价结果,开发人员对模
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。