第 6 章 数据库应用系统开发.docx
- 文档编号:25652252
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:12
- 大小:854.61KB
第 6 章 数据库应用系统开发.docx
《第 6 章 数据库应用系统开发.docx》由会员分享,可在线阅读,更多相关《第 6 章 数据库应用系统开发.docx(12页珍藏版)》请在冰豆网上搜索。
第6章数据库应用系统开发
第 6 章 数据库应用系统开发
学习目标
了解:
C/S和B/S体系结构的机制、优缺点;
了解:
嵌入式SQL的概念和机理;
掌握:
C/S应用系统的开发方法。
6.1数据库应用系统开发概述
一、数据库应用系统开发的基本思路:
将SQL语言嵌入到高级语言中,SQL语句负责操纵数据库,高级语言负责控制程序流程,完成各种复杂的数据库应用。
二、嵌入式SQL:
使用嵌入式SQL在编写程序时,必须从普通的编程语言开始(宿主语言),再把SQL加入到程序中。
也就是说嵌入式SQL就是将SQL语句直接嵌入到程序的源代码中,与其他程序设计语言混合。
处理过程:
为了区分SQL语句和宿主语言语句,所有SQL语句必须加前缀,前缀一般格式:
EXECSQL
三、应用程序开发模式
C/S:
客户机/服务器,基于企业内部网络的应用系统,不依赖企业外网环境,也就是说无论企业是否能上网,都不影响应用。
B/S:
浏览器/服务器。
1.C/S体系结构:
两层结构的系统,第一层是在客户机上结合了业务逻辑;第二层通过网络结合了数据库服务器。
如图示,主要由客户应用程序和数据库两部分组成。
优点:
交互性强,有效地降低网络通信量和服务器运算量,适用于用户数量不多的局域网内使用。
2.B/S体系结构:
三层结构C/S模式,如图示。
它是基于Intranet的需求发展的,Intranet是应用TCP/IP协议建立的企事业单位内部专用网络,采取TCP/IP、HTTP、SMTP、HTML等技术和标准,能为企事业内部交换信息提供服务;具有连接Internet的功能和防止外界入侵的安全措施;可以实现大量信息的网上发布,为广大用户提供动态的信息查询和数据处理服务。
3.两种模式的比较:
C/S模式采用点对点的结构模式,适用于局域网、安全性可以得到保证;B/S采用点对多点或多点对多点的结构模式,采用TCP/IP协议,安全性只能靠数据服务器上管理密码的数据库来保证。
1)系统的性能:
B/S异地浏览和信息采集灵活性高,但客户端只能完成浏览、查询、数据输入等简单功能,大部分工作由服务器承担,因此,服务器的负担很重。
C/S模式客户端和服务器端都能够处理任务,虽然对客户端的要求较高,但减轻了服务器的负担。
2)系统的开发:
要求应用开发者自己去处理事务管理、消息队列、数据的复制和同步、通信安全等系统级的问题。
使得应用程序的维护、移植和互操作复杂。
3)系统的升级维护:
由于C/S系统的各部分中有一部分改变,就要关联到其他模块的变化,因此升级成本大。
B/S系统开发、维护等所有工作都集中在服务器,当企业对网络应用进行升级时,只需更新服务器端的软件就可。
6.2VB应用系统开发方法
通常采用VB,Delphi等开发C/S模式的数据库应用系统,采用ASP.net或JSP等开发B/S模式的数据库应用系统。
一、数据库应用程序的基本框架:
前台软件为VB程序,后台为数据库管理系统(包括增加、删除、修改和查询操作)。
利用VB开发数据库应用程序的基本框架:
1.声明一个全局数据库连接对象;
2.创建Main子过程,并将它设置为启动对象。
其中包括:
•以非模态方式显示飞溅窗;
•创建全局数据库连接对象,连接SQLServer或Access等数据库;
•以模态方式显示登录窗,等待用户登录;
•登录成功后,以非模态方式显示主窗体,否则退出程序。
3.主窗体提供增加(Insert)、删除(Delete)、修改(Update)和查询(Select)等对数据库操作功能,所有操作均使用全局数据库连接对象作为与数据库交互的通道,通过SQL语句对数据进行处理。
4.其他功能:
数据库备份和恢复、用户权限等管理。
二、ADO对象模型
1.数据库访问引擎
VB提供了3种数据库访问引擎,它是应用程序与数据库之间的数据通道。
Jet引擎:
联合数据库引擎,用于本地数据库(ACCESS)、外部数据库(EXCEL)的数据库引擎。
也可以访问远程数据库(SQLServer),但必须通过ODBC来转接。
ODBC:
开放式数据库连接,是一种建立数据库驱动程序的标准,当前几乎所有的DBMS都支持这种数据库引擎。
通过ODBC可以使用本地化的协议来访问所有支持ODBC的数据库。
OLEDB:
它是一系列组件对象模型接口。
2.数据访问对象:
VB采用面向对象技术,将三种数据库引擎封装成三种访问数据库的对象:
1)DAO对象模型:
可以使用Jet引擎和ODBC两种方式访问数据库,是一种分层的树型结构。
2)RDO对象模型:
一般采用ODBC访问数据库,也是一种分层的树型结构。
3)ADO对象模型:
是目前常用的数据访问对象。
目前主要采用ADO对象,它把OLEDB封装在一个数据对象中,使得VB程序可以方便地实现对数据库的访问。
它与上述两种主要的区别是它采用非层次结构。
包含7个对象。
主要有:
Connection、Command、Recordset、Parameter、Property、Field和Error对象,最常用的是Connection、Command、Recordset和Field。
(1)Connection对象:
主要用于建立与数据库的连接。
•声明并创建对象:
语句格式
DimADOcnAsNewConnection '声明对象
SetADOcn=NewConnection '创建新对象
•建立数据库连接:
语句格式:
ADOcn.Open连接字符串
•对数据表进行更新操作:
利用Connection对象可以实现对数据库中的数据表进行增加、删除、修改等操作。
语句格式:
ADOcn.ExecuteSQL语句字符串
如:
删除学生成绩表中学号为001的记录,语句为:
ADOcn.Execute“DELETEFROM学生成绩表WHERE学号‘001'”
或者用以下等效语句实现:
DimstrSQLAsString
strSQL=“DELETEFROM学生成绩表WHERE学号‘001'”
ADOcn.ExecutestrSQL
如:
更新学生成绩表中学号001的记录,语句为:
ADOcn.Execute“Update学生成绩表SET学号='002'Where学号=‘001'”
(2)Command对象:
用于不需返回结果集的SQL语句操作,如:
INSERT、DELETE和UPDATE。
(3)Recordset和Field对象:
记录集Recordset对象是数据表的查询结果,通常使用它进行Select语句的操作,基本使用方法:
声明Recordset对象:
DimADOrsAsNewRecordset
与ADO链接对象建立关联:
ADOrs.ActiveConnection=ADOcn
执行Select操作:
ADOrs.Open"Select*From学生成绩表"
关闭记录集对象:
ADOrs.Close
当使用OPEN方法打开一个记录集后,就可以访问其中的数据了。
方法是:
ADOrs.Field(“学号”)或者ADOrs(“学号”)
(4)将记录显示在窗体上:
显示方法
在TextBox控件中显示
Text1.Text=ADOrs.Fields(“学号”)
读取到变量中
DimstrNoASString
strNo=ADOrs.Fields(“学号”)
Text1.Text=strNo
三、程序主要功能开发
1.数据库设计:
设成绩数据库包括3张数据表,结构和记录如表所示:
表名
结构
学生成绩
学号,课程号,成绩
学生情况
学号,姓名
课程情况
课程号,课程名
表名
表记录
学生成绩
通过程序添加
学生情况
手工添加
课程情况
手工添加
2.基本SQL语句:
开发的数据库程序具有如下功能。
1)插入记录:
INSERTINTO<表名>(<列名>,)VALUES(列值,…);
INSERTINTO学生成绩表(学号,课程号,成绩)VALUES(‘001','001',85)
2)删除记录:
DELETEFROM<表名>WHERE条件
DELETEFROM学生成绩表WHERE学号=‘001'AND课程号=‘001'
3)修改记录:
UPDATE<表名>SET<列名>=<表达式>,WHERE条件;
UPDATE学生成绩表SET成绩=90WHERE学号=“001”AND课程号=‘001'
4)按学号查询SELECT*FROM<表名>WHERE条件
SELECT*FROM学生成绩表WHERE学号=“001”
5)打印成绩单3.界面设计
(1)创建工程,工程名为:
“成绩查询”;
(2)创建主窗体(窗体名:
frmMain),由主窗体调用其它窗体,主窗体使用菜单和工具条创建,主窗体如下图左所示。
(3)创建“新增记录”窗体(窗体名:
frmAdd),包括:
标签、文本框、组合框、命令按钮等,将成绩文本框的Alignment属性设置为1-RightJustify,使数据在右端显示。
窗体如上图右所示。
(4)创建“修改记录”窗体(窗体名:
frmUpdate),包括:
标签、文本框、组合框、命令按钮等,将成绩文本框的Alignment属性设置为1-RightJustify,使数据在右端显示。
窗体如下图左所示。
(5)创建“删除记录”窗体(窗体名:
frmUDelete),包括:
标签、组合框、命令按钮等,如上图右所示。
6)创建“查询记录”窗体(窗体名:
frmQuery),首先使用工程-部件菜单添加表格控件,窗体包括:
标签、组合框、命令按钮和FlexGrid表格控件等,窗体如下图。
4.代码设计
(1)编写连接数据库的代码,步骤:
通过“工程-引用”菜单添加对象库:
MicrosoftActiveXDataObjects2.7Library(Ado数据对象);
通过“工程”菜单项添加一个模块,设计如下代码;
通过“工程-工程项目属性”菜单,将Main过程设置为启动对象。
(2)设置窗体间的调用:
在主窗体上双击工具栏控件,设计如下代码。
(3)设计frmAdd窗体代码。
代码分两部分,①Load事件代码,完成窗体初始化;②“确认”按钮代码,完成添加记录工作。
4)设计frmUpdate窗体代码。
Load事件代码同上;“确认”按钮代码如下左所示,完成修改记录。
(5)设计frmUDelete窗体代码。
Load事件代码同上;“确认”按钮代码如下右所示,完成删除记录。
(6)设计frmQuery窗体代码。
查询按钮代码如下所示。
四、报表:
报表用于输出查询结果。
常用的报表设计工具:
报表设计器、利用excel、利用专用软件。
1.利用生成报表:
(1)在计算机中安装EXCEL应用程序,建立一张Excel工作簿,用于存放数据库中表的数据;
(2)首先在VB中通过工程-引用加载MicrosoftExcelObjectLibrary;(3)使用Dim语句声明一个Excel应用程序、工作簿、工作表对象,(4)最后编写程序,如下图所示,利用Excel对象与后台Excel应用程序进行数据交换,最终将数据传输到Excel表中。
2.利用报表设计器生成报表。
它是VB自带的报表设计器,通过“工程-添加DataReport”菜单打开报表设计器,进行报表设计。
(1)报表结构:
如下图所示。
报表标头:
用于显示报表的标题,在整个报表的顶部显示一次;
页标头:
用于显示页的标题,在每页的顶部显示;
细节:
用于显示报表的细节内容,每一行显示一次;
页脚注:
用于显示页的尾注,在每页的尾部显示;
报表尾注:
用于显示报表的尾注,在整个报表的尾部显示一次。
(2)数据报表工具箱:
常用的控件如上右图所示.
RptLable控件:
用于静态文本的显示,与Lable控件功能相似;
RptTextBox控件:
用于显示数据表中的记录字段,与TextBox控件功能相似;
RptLine:
用于画线;
RptImage:
用于显示静态图形。
(3)设计报表:
报表界面设计:
如上页图所示,将Caption属性设置为:
学生成绩查询报表,窗体名取缺省值:
DataReport1。
编写代码如下图所示,首先打开一个ADO记录集,然后将报表控件的DataSource和DataMember属性指向该记录集的对应记录,最后通过Show方法打开报表窗体。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库应用系统开发 数据库 应用 系统 开发