信息系统与数据库课程设计报告x
时间:2020-11-08 12:42:03 来源:勤学考试网 本文已影响 人
上海应用技术学院
课程设计
2014~2015学年第二学期
PAGE i
目录
TOC \o "2-3" \h \z \t "标题 1,1,次标题,1" 目录 i
1 概述 1
1.1 程序的基本功能 1
1.2 程序详情 2
1.2.1 程序代码 2
1.2.2 程序运行截图 7
2 课题的分析 10
2.1 需求分析 10
2.2 教材信息管理系统模块图 10
3 详细设计 11
3.1 数据表结构 11
3.2 数据库关系图 12
4 课程设计总结 13
4.1 完成情况 13
4.2 遇到的问题及解决 13
参考文献 14
课程设计报告 PAGE 3
上海应用技术学院 计算机科学与信息工程学院
概述
教材管理是教学管理中的组成部分,一般学校的教材管理模式是在学年制基础上以班级为单位进行处理的。院校的教材管理随着学生规模的日益增大、教材日益多样化、学生个人之间教材差异越来越大的现实面前已呈现出无法应对的局面。因此,建立一套与选课相配套的教材管理模式和管理系统具有十分重要的意义和实际应用的迫切性,而且现有的条件、管理理念和技术水平已使之成为可能。?
开发该教材管理系统是为了更好地管理学校的各类教材,便于教材管理人员订书、领书、查询教材资料及其库存情况。
课题目的:通过本次课题设计掌握VB.NET程序设计基础、多窗体调用方法、数据库访问技术,增加对数据库的理解和认识,提高运用能力。
课题要求:基于Book数据库,设计学校的教材信息管理系统,具有查询浏览和更新维护两个功能。
课题的分析
需求分析
随着科学技术的不断提高,计算机网络的功能已进入人类社会的各个领域并发挥着越来越重要的作用。各类学校的校园网也运行了多年,但还有不少学校的管理系统缺少统一规划,单机运行的信息孤岛还为数不少,所以有必要进一步研究充分利用校园网合理整合原有异构数据库,从而建立相关部门协同合作的管理系统。本教材管理平台充分依托校园网,实现教材信息的集中管理、分散操作、信息共享,使传统的教材管理向着数字化、无纸化、智能化、综合化的方向发展,并为进一步实现完善的学校信息系统打下良好的基础。教材管理系统软件切实推进了教学管理的信息化。该软件是以面向对象编程语言为实现语言,其功能在系统内部有源代码直接完成。操作人员只需输入一些简单的汉字、数字,即可完成操作,达到自己的目标。大大提高了工作效率,作到信息的规范管理,科学统计和快速查询,让教材管理处更好的为学校服务。
模块分析
根据对题目的分析和理解本程序一共需要四个模块分别为查询教材基本信息模块、查询教师预定教材信息模块、维护教材信息模块、维护教材预定信息模块,具体模块图见下图
图1.7 系统模块图
,
详细设计
数据表结构
表3.1.1 T_Teacher 教师表结构
字段名称
字段说明
类型定义
属性限定
索引
关系(外键)
TeacherCode
教师工号
Char(8)
Primary Key
√
TeacherName
教师姓名
Char(20)
Not Null
√
AcadCode
所属学院
Char(2)
Not Null
T_Academy:AcadCode
Sex
性别
Char(2)
Not Null
EnterDate
入校时间
Datetime
Title
职称
Char(10)
Not Null
Telephone
联系电话
Varchar(40)
表3.1.2 T_Academy 学院表结构
字段名称
字段说明
定义类型
属性限定
索引
AcadCode
学院代码
Char(2)
Primary Key
主索引
AcadName
学院名称
Varchar(50)
Not Null
表3.1.3 T_BookInfo 教材信息表结构
字段名称
字段说明
类型定义
属性限定
索引
关系(外键)
BookCode
教材代号
Char(6)
Primary Key
主索引
BookName
教材名称
Varchar(40)
Not Null
√
PublisherCode
出版社代号
Char(2)
T_Publisher:PublisherCode
Author
编写人
Varchar(40)
PublishDate
出版日期
Datetime
Price
价格
Money
Not Null
ISBNCode
ISBN号
Char(20)
StockNum
库存量
Smallint
Not Null,>=0
√
BookSort
教材类别
Char(20)
表3.1.3 T_Publisher 出版社信息表结构
字段名称
字段说明
类型定义
属性限定
索引
关系(外键)
PublisherCode
出版社代号
Char(2)
Primary Key
主索引
Publisher
出版社
Varchar(40
Telephone
联系电话
Varchar(40
表3.1.4 T_BookOrder 表结构
字段名称
字段说明
类型定义
属性限定
索引
关系(外键)
BookCode
教材代号
Char(2)
Primary Key
主索引
T_BookInfo:BookCode
TeacherCode
教师代号
Char(2)
Primary Key
主索引
T_Teacherl:TeacherCode:
StuBookNum
学生订书量
Smallint
Not Null
TeaBookNum
教师订书量
Smallint
Not Null
OrderTime
订书日期
Datetime
TakeAway
是否领取
Bit
Default 0
Descript
备注说明
Text
数据库关系图
程序的基本功能
1) 查询教材基本信息。
输入:教材关键词;点击“查询”按钮,可以实现查询到教材编号、教材名称、出版社名称、编写人、出版日期、价格、ISBN号、库存量、教材类别等包含该关键词的所有教材的信息。
2) 查询教师预定教材信息。
输入:教师姓名;点击“查询”按钮,可以实现查询到该教师预定的教材名称、学生订书量、教师订书量、是否领取、描述等所有教材的信息。
3) 维护教材信息;
输入:教材编号、教材名称、出版社编号、作者、出版日期、价格、ISBN号、库存量、教材类别等基本信息,点击“新增”按钮实现教材信息的增加。
输入:教材编号,点击“删除”按钮实现教材信息的删除
点击“清空”按钮清空所有输入选项
4) 维护教材预定信息(输入或选择某教材,修改现有预定信息、新增教材预定信息)。
输入或选择教材编号,点击“查询”按钮,实现该教材的基本预定信息的查询,点击“修改”按钮实现对该教材基本信息的修改,点击“新增”按钮,实现教材预订信息的增加。
程序详情
程序代码
Imports System.Data.SqlClient
Public Class Form1
Dim cn As New SqlConnection("initial catalog=book;data source = (local);integrated security = sspi;")
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim sql As String = "select bookcode,bookname,publishercode,author,publishdate,price,ISBNcode,stocknum,booksort from t_bookinfo where bookname = '" & ComboBox4.Text & "'"
Dim ad As SqlDataAdapter = New SqlDataAdapter(sql, cn)
Dim ds As New DataSet()
ad.Fill(ds, "book")
DataGridView1.DataSource = ds.Tables("book")
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim sql As String = "select teachername,bookname,stubooknum,teabooknum,descript,takeaway from t_teacher,t_bookinfo,t_bookorder where t_teacher.teachercode = t_bookorder.teachercode and t_bookinfo.bookcode = t_bookorder.bookcode and teachername = '" & ComboBox5.Text & "'"
Dim ad As SqlDataAdapter = New SqlDataAdapter(sql, cn)
Dim ds As New DataSet()
ad.Fill(ds, "book")
DataGridView2.DataSource = ds.Tables("book")
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Dim sql As String = "insert into t_bookinfo values('" & TextBox3.Text & "','" & TextBox4.Text & "','" & ComboBox3.Text & "','" & TextBox6.Text & "','" & TextBox7.Text & "','" _
& TextBox8.Text & "','" & TextBox9.Text & "','" & TextBox10.Text & "','" & TextBox11.Text & "')"
Dim mycmd As New SqlCommand(sql, cn)
Dim i As Integer
cn.Open()
Try
i = mycmd.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.Message)
End Try
cn.Close()
MsgBox(i & "条记录成功添加")
Dim sql5 As String = "select * from t_bookinfo"
Dim ad5 As SqlDataAdapter = New SqlDataAdapter(sql5, cn)
Dim ds5 As New DataSet()
ad5.Fill(ds5, "book")
DataGridView3.DataSource = ds5.Tables("book")
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
Dim sql As String = "delete from t_bookinfo where bookcode = '" & TextBox12.Text & "'"
Dim mycmd As New SqlCommand(sql, cn)
Dim i As Integer
cn.Open()
Try
i = mycmd.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.Message)
End Try
cn.Close()
MsgBox(i & "条记录删除添加")
Dim sql5 As String = "select * from t_bookinfo"
Dim ad5 As SqlDataAdapter = New SqlDataAdapter(sql5, cn)
Dim ds5 As New DataSet()
ad5.Fill(ds5, "book")
DataGridView3.DataSource = ds5.Tables("book")
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim sql As String = "select bookcode from t_bookorder"
Dim ad As SqlDataAdapter = New SqlDataAdapter(sql, cn)
Dim ds As New DataSet()
ad.Fill(ds, "教材编号")
ComboBox1.DataSource = ds.Tables("教材编号")
ComboBox1.DisplayMember = ds.Tables("教材编号").Columns(0).ToString
Dim sql1 As String = "select teachercode from t_bookorder"
Dim ad1 As SqlDataAdapter = New SqlDataAdapter(sql1, cn)
Dim ds1 As New DataSet()
ad1.Fill(ds1, "教师编号")
ComboBox2.DataSource = ds1.Tables("教师编号")
ComboBox2.DisplayMember = ds1.Tables("教师编号").Columns(0).ToString
Dim sql2 As String = "select publishercode from t_publisher"
Dim ad2 As SqlDataAdapter = New SqlDataAdapter(sql2, cn)
Dim ds2 As New DataSet()
ad2.Fill(ds2, "出版社编号")
ComboBox3.DataSource = ds2.Tables("出版社编号")
ComboBox3.DisplayMember = ds2.Tables("出版社编号").Columns(0).ToString
Dim sql3 As String = "select bookname from t_bookinfo"
Dim ad3 As SqlDataAdapter = New SqlDataAdapter(sql3, cn)
Dim ds3 As New DataSet()
ad3.Fill(ds3, "教材编号")
ComboBox4.DataSource = ds3.Tables("教材编号")
ComboBox4.DisplayMember = ds3.Tables("教材编号").Columns(0).ToString
Dim sql4 As String = "select teachername from t_teacher"
Dim ad4 As SqlDataAdapter = New SqlDataAdapter(sql4, cn)
Dim ds4 As New DataSet()
ad4.Fill(ds4, "教材编号")
ComboBox5.DataSource = ds4.Tables("教材编号")
ComboBox5.DisplayMember = ds4.Tables("教材编号").Columns(0).ToString
Dim sql5 As String = "select * from t_bookinfo"
Dim ad5 As SqlDataAdapter = New SqlDataAdapter(sql5, cn)
Dim ds5 As New DataSet()
ad5.Fill(ds5, "book")
DataGridView3.DataSource = ds5.Tables("book")
Dim sql6 As String = "select * from t_bookorder"
Dim ad6 As SqlDataAdapter = New SqlDataAdapter(sql6, cn)
Dim ds6 As New DataSet()
ad6.Fill(ds6, "book")
DataGridView4.DataSource = ds6.Tables("book")
End Sub
Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
cn.Open()
Dim sql As String = "select stubooknum,teabooknum,ordertime,takeaway,descript from t_bookorder where bookcode ='" & ComboBox1.Text & "' and teachercode ='" & ComboBox2.Text & "' "
Dim mycmd As New SqlCommand(sql, cn)
Dim myread As SqlDataReader
myread = mycmd.ExecuteReader
While myread.Read()
TextBox15.Text = myread.Item(0)
TextBox16.Text = myread.Item(1)
TextBox17.Text = myread.Item(2)
TextBox18.Text = myread.Item(3)
TextBox19.Text = myread.Item(4)
End While
myread.Close()
cn.Close()
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
Dim sql As String = "update t_bookorder set stubooknum = '" & TextBox15.Text & "',teabooknum = '" & TextBox16.Text & "',ordertime = '" & TextBox17.Text & "',takeaway = '" & TextBox18.Text & "',descript = '" & TextBox19.Text & "' where bookcode ='" & ComboBox1.Text & "' and teachercode ='" & ComboBox2.Text & "'"
Dim mycmd As New SqlCommand(sql, cn)
Dim i As Integer
cn.Open()
Try
i = mycmd.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.Message)
End Try
cn.Close()
MsgBox(i & "条记录修改成功")
Dim sql6 As String = "select * from t_bookorder"
Dim ad6 As SqlDataAdapter = New SqlDataAdapter(sql6, cn)
Dim ds6 As New DataSet()
ad6.Fill(ds6, "book")
DataGridView4.DataSource = ds6.Tables("book")
End Sub
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
Dim sql As String = "insert into t_bookorder(bookcode,teachercode,stubooknum,teabooknum,ordertime,takeaway,descript) values('" & ComboBox1.Text & "','" & ComboBox2.Text & "','" & TextBox15.Text & "','" & TextBox16.Text & "','" & TextBox17.Text & "','" & TextBox18.Text & "','" & TextBox19.Text & "')"
Dim mycmd As New SqlCommand(sql, cn)
Dim i As Integer
cn.Open()
Try
i = mycmd.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.Message)
End Try
cn.Close()
MsgBox(i & "条记录修改成功")
Dim sql6 As String = "select * from t_bookorder"
Dim ad6 As SqlDataAdapter = New SqlDataAdapter(sql6, cn)
Dim ds6 As New DataSet()
ad6.Fill(ds6, "book")
DataGridView4.DataSource = ds6.Tables("book")
End Sub
Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
TextBox3.Text = ""
TextBox4.Text = ""
ComboBox3.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox9.Text = ""
TextBox10.Text = ""
TextBox11.Text = ""
End Sub
End Class
程序运行截图
图 STYLEREF 1 \s 1. SEQ 图 \* ARABIC \s 1 1 查询教材基本信息
图 STYLEREF 1 \s 1.2 查询教师预定教材信息
图 STYLEREF 1 \s 1.3 增加教材信息
图 STYLEREF 1 \s 1.4 删除教材信息
图 STYLEREF 1 \s 1.5 修改教材预定信息
图 STYLEREF 1 \s 1.6 新增教材预定信息
课程设计总结
完成情况
通过这个学期的数据库和程序设计的学习,设计,基本完成课题设计的任务,本次课题设计任务是开发教材管理系统,结合传统教材管理的模式,初步实现了教材的查询、教材预定信息查询、数据库管理等一些基本的管理系统功能,这些功能能够满足一般教材的管理需求。
遇到的问题及解决
由于实际条件和时间限制,还有自己平时的学习不够,某些代码的的排版顺序以及代码的书写可能有所混乱,条理不够清晰,而且在设计的过程中有一些程序运行的代码不会书写,不过都已在咨询老师和查找资料的过程中解决,但是系统在功能方面还不完善,有的仅仅是最简单最基本的功能实现,而且由于我们知识面的局限性,对于具体的教材管理系统方面的知识还有很大的欠缺,可能在设计数据库存在着不合理的地方,以至于影响到整个系统的功能以及性能。
参考文献
刘晓强,施伯乐.信息系统与数据库技术.北京:机械工业出版社,2008,208~236
刘晓强.黄雅萍.闫昱.信息系统与数据库技术学习指导及习题解析.北京:机械工业出版社,2009,247~253