学校教材订购系统—罗学东

更新时间:2024-04-22 21:21:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

华科学院计算机科学与技术专业

《数据库课程设计》报告

(2009/2010学年 第一学期)

学生姓名: 罗学东 学生班级: 信息管理092201H 学生学号: 200922040113 指导教师: 武研

2011年 12 月 25 日

华科学院数据库课程设计

目录

第一章 系统概述???????????????????????????????????1 1.1 开发背景?? ??????????????????????????????? 1.2开发意义????????????????????????????????????1 1.3开发工具及主要技术????????????????????????????????2 第二章 总体系统需求分析???????????????????????????????3 2.1总体设计要求????????????????????????????????? 3 2.2总体系统软件结构图???????????????????????????????3 2.3总体系统软件业务流程图?????????????????????????????4 第三章 子系统需求分析????????????????????????????????5 3.1子系统设计要求??????????????????????????????????5 3.2子系统功能模型??????????????????????????????????5 3.3子系统业务流程模型???????????????????????????????? 第四章 系统设计???????????????????????????????????8 4.1代码设计???????????????????????????????????? 8 4.2输出设计???????????????????????????????????? 8 4.3 输入设计?????????????????????????????????? 8 4.4 数据库设计??????????????????????????????????? 9

4.4.1概念数据模型??????????????????????????????? 9 4.4.2 物理数据模型?????????????????????????????? 13 4.5数据库建立??????????????????????????????????? 4.5.1数据库的建立和使用??????????????????????????? 4.5.2建立用户表??????????????????????????????? 4.5.3建立存款表?????????????????????????????? 4.5.4建立上下机表????????????????????????????? 4.5.5建立操作员表????????????????????????????? 4.5.6建立上机标准表???????????????????????????? 4.6刷卡???????????????????????????????????????

1

华科学院数据库课程设计

4.7存款??????????????????????????????????????? 4.8操作员?????????????????????????????????????? 4.9查询刷卡全体用户????????????????????????????????? 第五章 系统实现?????????????????????????????????? 15 4.1系统功能截图??????????????????????????????????15 4.2源代码????????????????????????????????????16 心得体会??????????????????????????????????????26 参考文献??????????????????????????????????????27

第一章 系统概述

1.1开发背景

当今随着计算机技术和计算机网络的发展,人们逐渐进入了信息时代。通过因特网,

2

华科学院数据库课程设计

人们可以浏览到需要的信息,发送邮件、传送邮件,网上娱乐,远程教育,远程医疗,同时,电子商务和电子政务的出现,也更加方便了人们的生活。生活中有许多事情都可以在网上轻松简单的实现,互联网因为它简单的操作和广泛的信息量,逐渐成为人们生活和工作中的重要部分。

近年来,学校的教材订购也越来越多的涉及到了信息技术和网络的应用。以前许多高校的教材征订系统存在着教材管理和征订方面半手工半信息化的状况,并没有一个对数据进行操作的网络程序。所谓的半手工半信息化是指教材科有详细的教材资料,并把它们存放在电子文档中,每次需要时,找到对应的信息并打印或手抄出来,这种工作方式工作效率低。针对这一情况,本次设计对学校教材订购系统进行了研究,进行了初步的尝试。

1.2必要性分析

随着教学数量和质量的提高,对软件质量的要求也越来越高,因此对图书教材的订购越来越重视,希望通过一个简单,方便,快捷的方式获得需要的教材。因此,一所学校有一个好的教材订购系统是十分重要的。

订购是指教师或学生向工作人员提出需要采购的教材,经工作人员审查后,发给教师或学生发票,然后去书库领取教材,但工作人员发现书库中缺货时,要及时的报告采购部门,采购部门要及时的进货,然后,工作人员来修改记录。

本系统主要通过应用程序实现对数据库的整合以及对数据库的操作。数据库是长期存储在计算机内、有组织、可共享的大量数据的集合。数据库的整合就是把现在的零散的数据库经过分类、综合整理成一个大型的数据库。所需数据都是可以从里面调用的。数据库的数据操作是指对数据库中各种对象的实例允许操作的集合,包括操作及有关的操作规则。数据库主要有查询和更新(包括插入、删除、修改)两大类操作。本系统的设计首先着眼于网络,学生和教师可以通过本系统向教材订购人员提交所需要教材的详细信息,教材订购系统可以统计出这些教材信息。因此,本系统能够方便学校教材订购部门的工作,提高了工作效率。

主要功能包括:1、收集数据。将学生和教师的订书单和缺书通知单收集起来。2、打印报表。产生待购教材表、进库表、出库表等各种统计报表。

1.3可行性分析

3

华科学院数据库课程设计

在技术上的可行性分析,本系统可以划分为两个子系统:销售系统和采购系统。

销售系统的工作过程为:首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票,登记并返给教师或学生领书单,教师或学生即可去书库领书。

采购系统的主要工作过程为:若是脱销教材,则登记缺书,发缺书单给书库采购人员,一旦新书入库后,即发进书通知单给教材发行人员。

当书库中的各种书籍数量发生变化时,都应该修改相关的书库记录,如库存表或进出库表。

1.4开发及运行环境

操作系统:Windows XP

数据库开发环境:SQL Server 2000 开发工具:Visual Basic

第二章 系统需求分析

2.1需求定义说明书

此教材采购分为两个模块:采购系统和销售系统。

采购系统模块:发缺书通知单、登记缺书记录、拟定待购书信息、发进书通知单、

4

华科学院数据库课程设计

修改和维护数据库中相应的表。

销售系统模块:提交购书单、审核购书单、开发票、登记购书记录、返回领书单、修改和维护数据库中相应的表。

教材订购管理系统的服务对象是全体的师生员工,系统的使用对象是教务处教材管理人员及书库管理员。

系统主要完成以下具体功能:

(1)预定新书 购书者购买书库暂时没有的书,可以进行预订,由教务处工作人员进行采购。

(2)购书 购书者到财务室办理缴费手续,然后凭此手续去书库取书。 (3)书出库 书从书库领出,管理员修改书库记录。

(4)书入库 采购人员把采购的书送入书库,管理员修改书库记录。

(5)书库维护 对现有的书进行分类、统计、增添新书目录或删除不存在的旧书目录等,一般由书库管理人员来完成。

2.2系统组织结构图

根据需求分析,学校教材订购系统的组织结构图如图2.1、图2.2所示。

图2.1采购子系统结构图

5

华科学院数据库课程设计

图2.2 销售子系统

2.3业务流程图

管理业务流程图是一种描述系统内个单位、人员之间业务关系、作业顺序和管理信息流向的图表。下图是学校教材订购系统的业务流程图。其处理过程是:

由学生或教师提交购书单,经教材发行人员审核是有效购书单后,开发票,登记并返给教师或学生领书单,教师或学生即可去书库领书。若是脱销教材,则登记缺书,发缺书单给书库采购人员,一旦新书入库后,即发进书通知单给教材发行人员。此外,书库工作人员还需要对书库进行更新与维护,及时的修改图书记录,并对现有的书进行分类、统计和整理,如图2.3所示。

图2.3 系统业务流程图

6

华科学院数据库课程设计

2.4系统数据流程图

将流程图中的实体进一步描述如下:

学生信息包括:姓名、学号、购书日期、采购教材名称、教材编码、教材数量、单价、联系方式

教师信息包括:姓名、编号、购书日期、采购教材名称、教材编码、教材数量、单价、联系方式

教材信息包括:教材名称、教材编码、价格、现有数量、出版社、作者 购书单信息包括:日期、教材名称、数量、学生(教师)姓名、购书人员编号 缺书单信息包括:日期、教材名称、数量、学生(教师)姓名、发行人员编号 领书单信息包括:日期、教材名称、数量、学生(教师)姓名、联系方式 进书通知单信息包括:日期、教材名称、数量、采购人员、编号、联系方式 采购人员信息包括:教材名称、数量日期、采购人员、编号、联系方式 发行人员信息包括:教材名称、数量日期、发行人员、编号、联系方式 系统数据流程图如图2.4所示。

图2.4 系统数据流程图

2.5数据字典

为了对数据流程图中的各个元素作出详细的说明,有必要建立数据字典。数据字典的内容主要是对数据流程图中的数据项、数据结构、数据流、处理逻辑、数据存储和外

7

华科学院数据库课程设计

部实体等六个方面的定义。数据流程图配以数据字典,就可以从图形和文字两个方面对系统的逻辑模型进行描述。

(1)数据项的定义 数据项名称:表的编号 别 名:表的号码

简 述:指明每一种表的类型 类型及宽度:字符型,4位 取值范围 :“0001”~“9999”

(2)数据结构的定义

数据结构的名称:学生信息

简 述:一个学生的基本信息

数据结构的组成:姓名、学号、购书日期、采购书籍名称、书籍编码、书籍数量、单价、联系方式

数据结构的名称:教师信息

简 述:一个教师的基本信息

数据结构的组成:姓名、编号、购书日期、采购书籍名称、书籍编码、书籍数量、单价、联系方式

数据结构的名称:书籍信息

简 述:书籍的有关信息

数据结构的组成:书籍名称、书籍编码、价格、现有数量、出版社、作者

数据结构的名称:购书单信息

简 述:购书单的有关信息

数据结构的组成:日期、书籍名称、数量、学生(教师)姓名、购书人员编号

数据结构的名称:缺书单信息

简 述:缺书单的有关信息

数据结构的组成:日期、书籍名称、数量、学生(教师)姓名、发行人员编号

数据结构的名称:采购人员信息

简 述:采购人员的相关信息

数据结构的组成:书籍名称、数量日期、采购人员编号、联系方式

(3)数据流的定义

数据流名称:购书单

简述 :指明了购买图书的种类和数量 数据流来源:教师或学生 数据流去向:系统处理模块

8

华科学院数据库课程设计

数据流组成:日期、书籍名称、数量、学生(教师)姓名、购书人员编号

(4)数据存储的定义

数据存储的名称:出库表

简述 :出库的图书数量和种类

数据存储组成 :出库日期、书籍名称、数量、学生(教师)姓名 关键字 :图书编号

9

华科学院数据库课程设计

第三章 系统设计

3.1代码设计

每种实体都必须有代码,代码是代表事物名称属性状态等的符号。一般用数字字母或它们的组合来表示。代码可以唯一标识实体,节省存储单元,提高数据处理效率。代码要具有唯一性,标准化和通用性,代码设计要尽量采用国家或有关部委颁发的编码标准。代码还应具有可扩充性,当增加新实体时,可直接在源代码系统中扩充,而不用重新组织。

系统为每种类型的书籍设计了不同的代码,方便了用户的操作,用户可根据不同的需要,选择相应的书籍代码,可以方便的进行数据的输入和输出。在系统运行过程中,对数据库的修改都可以通过代码进行操作,系统可根据代码编号,自动的将书籍的详细信息调用出来,而且代码会自动显示在输入输出窗口中。

3.2输入/输出设计

输入设计包括数据规范和数据准备的过程,在输入设计中,提高效率和减少错误是两个最根本的原则。输入设计有四个指导目标,(1)控制输入量,(2)减少输入延迟,(3)减少输入错误,(4)输入过程应尽量简化。

输出是系统产生的结果或提供的信息。对于大多数用户来说,输出是系统开发的目的和评价系统开发成功与否的标准。因此,系统设计过程与运行过程正好相反,不是从输入设计到输出设计,而是从输出设计到输入设计。

在系统的输入/输出设计上遵循的是既满足用户需求又方便用户使用的原则。输入输出界面的确定应最大限度的满足用户的需要。

输出界面的设计不仅要考虑数据输入窗口的屏幕格式,而且考虑如何使输入数据的错误率尽可能最小。为此,对输入数据的类型,上下限进行设置。例如,在输入和选择某种书籍时,只需输入书籍的代码即可,系统可根据书籍代码,自动的调用书籍的信息。当用户输入的书籍代码不对时,自动弹出错误提示。用户不必要及住每一本书籍的代码,系统有一个代码表窗口,用户可在窗口中查询到自己需要的书籍,方便用户的查找。

3.3系统结构设计

系统总的分为销售子系统和采购子系统,具体实现功能如图3.1所示。

10

华科学院数据库课程设计

图3.1系统功能模块图

3.4数据库设计

在数据库系统中,对现实世界中数据的抽象、描述以及处理等是通过数据模型来实现的。数据模型是数据库设计中用于提供信息表示和操作手段的形式构架,是数据库系统实现的基础。根据模型应用的不同目的,可以将模型分为两个层次。一是概念模型,即按用户的观点对数据和信息建模。二是数据模型,是对客观事物及联系的数据化描述。

数据库设计是在选定的数据库管理系统基础上建立数据库的过程。数据库设计除用户要求分析外,还包括概念结构设计、逻辑结构设计和物理结构设计等三个阶段。 3.4.1概念结构设计

概念结构设计应在系统分析阶段进行。任务是根据用户需求设计数据库的概念数据模型。概念模型是从用户角度看到的数据库,它可以用ER图表示出来,如下图所示。

图3.2学生实体

11

华科学院数据库课程设计

图3.3教师实体

图3.4教材实体

图3.5购书单实体

图3.6领书单实体

12

华科学院数据库课程设计

图3.7缺书单实体

图3.8进书通知单实体

图3.9采购人员实体

图3.10发行人员实体

13

华科学院数据库课程设计

图3.11系统总E—R图

3.4.2逻辑结构设计

逻辑结构设计是将概念设计阶段完成的概念模型转换成能被选定的数据库管理系统支持的数据模型。

数据模型可以由实体联系模型转换而来。ER转换为关系数据模型的规则如下:(1)每一个实体集对应一个关系模式。实体名作为关系名,实体属性作为对应关系的属性。(2)实体间的联系一般对应一个关系,联系名作为对应的关系名,不带属性的联系可以去掉。(3)实体和联系中关键字对应的属性在关系模式中仍作为关键字。

逻辑结构设计阶段提出的关系数据模型应符合第三范式的要求。 根据系统的ER图,可将实体和联系转换成如下关系数据模型。

·学生(学号,姓名,购书日期,教材名称,购书日期,教材数量,单价,联系方式)

·教师(编号,姓名,购书日期,教材名称,购书日期,教材数量,单价,联系方式)

·教材(书号,书名,作者,价格,类别,出版日期,出版社)

·购书单(购书单编号,姓名,书号,数量,价格,定书日期,购书人员编号)

14

华科学院数据库课程设计

·领书单(购书单号,姓名,书名,数量,出版社,价格,联系方式) ·缺书单(编号,日期,教材名称,数量,购买者姓名,发行人员) ·进书通知单(编号,日期,教材名称,数量,采购人员,联系方式) ·采购人员(编号,教材名称,数量日期,采购人员,联系方式) ·发行人员(编号,教材名称,数量日期,发行人员,联系方式) 3.4.3物理结构设计

数据库物理结构设计是为逻辑数据模型选取一个最适合应用环境的物理结构。数据库物理结构设计主要包括存储记录结构设计、存储记录布局、存取方法设计三个方面。数据库物理结构设计的目的是为了在数据检索中尽量减少I/O操作的次数以提高数据检索的效率,以及在多用户共享系统中,减少多用户对磁盘的访问冲突,均衡I/O负荷,提高I/O的并行性,缩短等待时间,提高查询效率。

物理结构设计的主要内容包括:(1)库文件的组织形式。如选用顺序文件组织形式、索引文件组织形式等。(2)存储介质的分配。例如将易变的、存取频繁的数据存放在高速存储器上,稳定的、存取频度小的数据存放在低速存储器上。(3)存取路径的选择等。

进一步对学校教材订购系统的销售过程进行数据流程分析,本系统应当具有如下的数据项和数据结构,开发过程中建立了名为book的数据库,下设book07、book08、adminlist等表。

表adminlist用于存放系统管理员和老师或学生的登录用户名和密码,其中帐号为主码,如图3.12所示。

图3.12adminlist表

表book07用于存放过去两个学期中计算机系所有已定教材的信息,其中书号为主码,如图3.13所示。

15

华科学院数据库课程设计

图3.13book07

表book08用于存放本学期需要征订的教材,同样,书号为主码,如图3.14所示。

图3.14book08

16

华科学院数据库课程设计

第四章 系统实现

4.1界面设计

本系统主要有登录界面,显示书目信息及功能模块选择界面,添加新记录界面,添加历史记录界面,和修改记录,删除记录页面组成。登陆页面如图4.1所示。

图4.1登陆页面

其中登录界面的代码如下:

Dim passtr As String

Passtr=Trim(CStr(TextBox2.Text))

Str=”?”&TextBox1.Text&”?”

Dim sql As String=”select*form adminlist where 帐号=”&Trim(str) ?在数据库中搜索帐号为textbox1.text的数据?

Dim connstr As String=”server=localhost:uid=sa;pwd=;database=book” Dim myconn As New SqlClient.SqlConnection(connstr) Dim da As New SqlClient.SqlDataAdapter(sql,myconn) Dim ds As New DataSet Da.Fill(ds,”adminlist”)

Dim dacomm AS sqlclient.SqlCommandBuilder=NewSqlClient.SqlCommandBuilder(da)

If ds.Tables(“adminlist”).Rows.Count=1 Then ?判断帐号密码是否和数据库匹配?

If passstr=Trim(ds.Table(“adminlist”).Rows(0)(“密码”))Then Response.Redirect(“book.aspx”) Else

Response.Write(密码错误!) End If Else

Response.Write(“用户名不存在!”) End If

17

华科学院数据库课程设计

End Sub End Class

通过连接数据库,显示出数据如图4.2所示。

图4.2书目页面

具体代码如下:

Private Sub Page_Load(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles MyBase.Load Binddata() End sub

Sub binddata() Dim mtconnection As New SqlConnection(“initial catalog=book;uid=sa;pwd=”) Const strsql As String=“select*from book08 order by 书号” Dim mycommand As New SqlCommand(strsql,myconnection) Dim myda As New SqlDataAdapter Myda.SelectCommand=mycommand Dim myds As New Dataset Myda.Fill(myds)

DataGridl.DataSource=myds DataGridl.DataBind() End Sub

4.2添加书目

在登录系统并选择插入历史书本后,进入添加历史书目的页面,决定在哪条进行添加,再单击左侧选择后,自动跳转,根据所选书目,进行相应的修改后添加到记录中去,如图4.3所示。

18

华科学院数据库课程设计

图4.3插入历史书目图

代码如下:

页面登录事件代码:

Private Sub Page_Load (ByVal sender As System.Object,ByVale As System.EventArgs) Handles Mybase.Load

Lf Not Page.IsPostBack Then Binddata() End If End Sub

连接数据库:

Sub binddata()

Dim myconnection As New SqlConnection(“initial catalog=book;uid=sa;pwd=”)

Const strsql As String=”select*from book07 order by 书号“ Dim mycommand As New SqlCimmand(strsql,myconnection) Dim myda As New SqlDataAdapter

Myda.SelectCommand=mycommand Dim myds As New DataSet Myda.Fill(myds)

DataGridl.DataSource=myds DataGridl.DataBind() End Sub

确定所选择的数据,并把该行的内容存储下来。

Private Sub DataGridl_ItemCommand(Byval source As Object.ByVal e As

19

华科学院数据库课程设计

System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGridl.ItemCommand

Dim b_no As TableCell=e.Item.Cells(1) Dim b_name As TableCell=e.Item.Cells(2) Dim b_a As TableCell=e.Item.Cells(3) Dim b_b As TableCell=e.Item.Cells(4) Dim b_c As TableCell=e.Item.Cells(5) Session(“a”)=b_no.text Session(“b”)=b_name.text Session(“c”)=b_a.text Session(“d”)=b_b.text Session(“e”)=b_c.text

Response.redirect(“histoey1.aspx”) End Sub

图4.4添加记录图

该页面中将征订时间和数量的值表示出来,方便在修改历史书目的时候修改它的时间和它的数量,具体代码如下。 页面登陆代码:

Private Sub Page_Load (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

If Not IsPostBack Then Dim str As String

Str=”?”& Lable16.Text &”?”

Dim sql As String=”select*form book07 where 书号=”& Trim(Session(“a”)) Dim connstr As String=

“server=localhost;uid=sa;pwd=;database=book”

Dim myconn As New SqlClientSqlConnection(connstr)

20

华科学院数据库课程设计

Dim da As New SqlClient.SqlDataAdapter(sql,myconn) Dim ds As New DataSet Da.Fill(ds,”book07”)

Dim dacomm As SqlClient.SqlCommandBuilder = New SqlClient.SqlCommandBuilder(da)

Label6.Text = ds.Tables(“book07”).Rows(0) (“书号”)

Label7.Text = ds.Tables(“book07”).Rows(0) (“书名”) Label8.Text = ds.Tables(“book07”).Rows(0) (“作者”)

TextBox1.Text = ds.Tables(“book07”).Rows(0) (“征订时间”) TextBox2.Text = ds.Tables(“book07”).Rows(0) (“数量”) End If End Sub

修改后添加到数据库的代码:

Private Sub Button1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles Button1.Click

Dim str As listItem Str = “?” & Label6.Text & “?”

Dim sql As String = “select * form book08 where 书号=” & Trim(str) Dim connstr As String = “server=localhost;uid=sa;pwd=;database=book” Dim mycinn As New SqlConnection(connstr) Dim da As New SqlDataAdapter(sql,myconn) Dim ds As New DataSet Da.Fill(ds,”book08”) Dim myrow As DataRow

Dim dscomm As SqlClient.SqlCommandBuilder = New SqlClient.SqlCommandBuilber(da)

If ds.Tables(book08”).Row.Count>=1 Then Response.Write(“此书已存在“) End If

Mtrow=ds.Tables(“book08”).NewRow Myrow(“书号“) = Trim(Lablel6.Text) Myrow(“书名“) = Trim(Lablel7.Text)

21

华科学院数据库课程设计

Myrow(“作者“) = Trim(Lablel8.Text) Myrow(“征订时间“) = Trim(TextBox1.Text) Myrow(“数量“) = Trim(T extBox2.Text) Ds.Tables(“book08”).Rows.Add(myrow)

Da.UpdateCommand = dacomm.GetUpdateCommand Da.Update(ds, “book08”) Response.Redirect(“book.aspx”) End Sub

4.3删除记录

在登录系统后点击修改按钮进入修改页面,通过复选框的选择,删除数据,删除页面如图4.5图所示。

图4.5删除页面

具体代码如下: 页面登录代码:

Private Sub Page_Load (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Mybase.Load

If Not Page.IsPostBack Then “用来确认页面是否是第一次登陆“ Binddata()

End Lf End Sub

22

华科学院数据库课程设计

Sub binddata()

Dim myconnection As New SqlConnection (“initial Catalog=book;uid=sa;pwd=;)

Const strsql As String = “select * from book08 order by 书号“

Dim mycommand As New SqlCommand (strsql, myconnection) Dim myda As New SqlDataAdapter Myda.SelectCommand = mycommand Dim myds As New DataSet Myda.Fill(myds)

DataGridl1.DataSource = myds DataGrid1.DataBind()

Myda.Update(myds, “book08”) End Sub

Button_click事件:

Private Sub Button1_Click (Byval sender As System.Objict, ByVal e As System.EventArgs) Handles Button1.Click

Dim I As Integer Dim x As String

Dim item As DataGridItem For i = to DataGrid1.Items.Count-1 Item = DataHrid1.Items(i)

Dim bookcheckbox As CheckBox = item.FindControl(“checkbox1”) If bookcheckbox.Checked Then?确认数据是否被点击进行删除? X = item.Cells (1).Text?x为datagrid 第二列的数据的内容 ? Deletedataset(x) End If Next Binddata()

Response.Write(“删除成功!”) End Sub

Sub deletedataset (ByVal y As String)

Dim con As New SqlConnection(“initial catalog=book;uid=sa;pwd=;) Dim cmd As SqlCommand Dim qry As String Con.Open()

Qry = “delete book08 where 书号=”?”& y & “?” Cmd = New SqlClient.SqlCommand(qry, con) cmd.ExecutNinQuery() con.Close() End Sub

Button_click的重定向事件

Private Sub Button2_Click (ByVal sender As System.Object,ByVal e As

23

华科学院数据库课程设计

System.EventArgs) Handles Button2.Click Response.Redirect(“book.aspx”) End Sub End class

4.4添加新教材和修改记录

具体设计如图4.6所示。

图4.6添加记录页面

进行添加新教材。在登录系统并选择录入新书后,进入添加新教材页面。 对textbox1到textbox5添加RequiredFiledValidator控件,并设置相应属性使textbox中的文本不能为空。

对textbox1 添加RangeValidator控件,设置MinimunValue为“0001“,MaxmunValue为”9999“。使书号的取值范围为0001—9999.

对textbox4添加ExpressionValidator控件,设置ValidationExpression属性为“\\d[4]-\\d[1,2]”,使时间格式为2011-1.

对textbox5添加RangeValidator控件,设置MinmunValue为“1”, MaxmunValue为“99”,使订阅的教材数量在1-99本之间。 该页面程序代码如下:

Page Load

Private Sub Page_Load(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles

24

华科学院数据库课程设计

MyBase.Load End Sub

Button Click

Private Sub Button_Click(ByVal sender As System.object,ByVal e As System.EventArgs) Handles Button1.Click

Dim litem As ListItem Str = “?”& TextBox1.Text &” ?”

Dim sql As String + “select * form book08 where 书号=” & Trim (str) Dim connstr As String = “server=localhost; uid=sa;pwd=;database=book” Dim myconn As New SqlConnection(connstr) Dim da As New SqlDataAdapter(sql,myconn) Dim ds As New DataSet Da.Fill(ds,”book08”)

Dim myrow As DataRow

Dim dacomm As SqlClient.SqlCommandBuilder = New

SqlClient.SqlCommandBuilder(da) If sa.Tables(“book08”).Rows.Count >=1 Then Response.Redirect(“next.aspx”)

Response.Write(“书号重复,请重新输入“) End If

Myrow = ds.Tables(“book08”).NewRow Myrow(“书号“) = Trim(TextBox1.Text) Myrow(“书名“) = Trim(TextBox2.Text) Myrow(“作者“) = Trim(TextBox3.Text) Myrow(“征订时间“) = Trim(TextBox4.Text) Myrow(“数量“) = Trim(TextBox5.Text) Ds.Tables(“book08”).Row.Add(myrow)

Da.UpdateCommand = dacomm.GetUpdateCommand Da.Update(ds,”book08”)

Response.Redirect(“book.aspx”) End Sub

Private Sub Page_Load(ByVal sender As System .Object, ByVal e As System.EventArgs) Handles MyBase.Load If Not Page.IsPostBack Then Binddata() End If End Sub

修改后的选择页面如图4.7所示。 部分代码如下:

Private Sub binddata()

Dim myconnection As SqlConnection(“initial catalog=book;uid=sa;pwd=”) Const strsql As String = “select * from book08 order by 书号“

25

华科学院数据库课程设计

Dim mycommand As New SqlCommand(strsql, myconnection)

图4.7修改后选择的记录页面

Dim myda As New SqlDataAdapter Myda.SelectCommand = mycommand Dim myds As New DataSet

My Da.Fill(myds)

DataGridl.DataSource = myds DataGridl.DataBind() End Sub

用于连接数据库并定义相关操作。

Private Sub DataGridl_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs)Handles DataGridl.ItemCommand

Dim b_no As TableCell = e.Item.Cells(1)

Dim b_name As TableCell = e.Item.Cells(2) Dim b_a As TableCell = e.Item.Cells(3) Dim b_b As TableCell = e.Item.Cells(4)

Dim b_c As TableCell = e.Item.Cells(5) Session(“a”) = b_no.text Session(“b”) = b_name.text Session(“c”) = b_a.text Session(“d”) = b_b.text Session(“e”) = b_c.text

Response.Redirect(“updatel.aspx”) End Sub

26

华科学院数据库课程设计

Update.aspx中的Button1 Click事件

Private Sub Button1_Click(ByVal sender As Sytsem.Oject, ByVal e As System.EventArgs) Handles Button1.Click Response.Redirect(“book.aspx”) End Sub

27

华科学院数据库课程设计

总结

通过对“学校教材订购系统”的设计,我更清楚的了解一个软件项目开发的整体过程,有需求分析,系统设计,编码实现,以及测试维护等几个步骤。文档在系统开发中占有重要位置,跟程序和数据一样都是系统中不可缺少的部分,在软件编写,使用和维护过程中都有重要作用,可以有效的减少软件危机。

调研和需求分析在系统开发中是最重要的部分,此部分我们要收集相关信息以及分析用户的需要,整理出可行性的软件需求报告,分析出整个系统的功能需求,性能需求等各个方面的需求。需求分析的目的就是使开发出来的软件尽可能的满足用户的需要。软件的开发就是为人们的日常生活服务的,所以明确目标十分重要。设计的进行要始终围绕目标展开。

设计训练是一个综合的练习,使我对数据库的连接,添加,修改操作及各个控件的使用更加深刻,增强了自主编程能力。在平时的课堂中,老师只是讲解了数据库开发的原理和组成,开发软件的具体使用还要靠自己的练习来掌握,书本知识只是我们学习的一部分,动手实践也是非常重要的。通过这次实践,我更好的理解了数据库知识,并掌握了重点内容,增强了动手开发能力,为以后的学习和生活打下基础。

28

华科学院数据库课程设计

参考文献

[1] 周山芙 黄京莲.数据库应用程序设计教程.北京:清华大学出版社,2004年; [2] 钱雪忠.数据库原理及应用.北京:北京邮电大学出版社, 2007年; [3]王勇领.计算机数据处理系统分析与设计.北京:清华大学出版社,1986年; [4]张基温.信息系统开发案例.北京:清华大学出版社,1999年。

29

本文来源:https://www.bwwdw.com/article/htbp.html

Top