资源描述
VB.NET面对对象程序设计课题
——基于Visual Studio.NET(2010)
院 (系)
xx
专业班级
xx
学生姓名
xx
学 号
xx
指导教师
xx
完成时间
xx
简易图书管理系统
一、功能描述
1、设计本系统的目的
(1)Visual Basic.NET是从Visual Basic 6.0语言演变而来的,是一种为高效地生成类型安全和真正面向对象的应用程序而设计的语言。它可以充分利用.NET提供的的一切,快速、方便地构建最新的.NET应用程序、组件或者服务。通过此次程序设计,锻炼我们应用计算机的能力以及应用VB.NET编程解决实际问题的能力。
(2)通过此设计,熟练掌握Visual Studio 2010集成开发环境(IDE)中的Visual Basic模块下windows窗体应用程序中各种控件的常用属性和事件、数组的各种操作以及数据库的相关操作(数据库的建立、编辑、查找、删除等),并能够做到灵活运用。
2、系统功能描述
(1) 通过键盘输入某本图书的信息;
(2) 给定图书编号,显示该本图书的信息;
(3) 给定作者姓名,显示所有该作者编写的图书信息;
(4) 给定出版社,显示该出版社的所有图书信息;
(5) 给定图书编号,删除该本图书的信息;
(6) 提供一些统计各类信息的功能。
(7) 要求用InputBox函数,输出在图片框上,界面布局合理,实用性强。
3.设计思路
该管理系统主要由四部分组成:系统用户的登录、图书信息管理、借阅或归还图书管理以及退出系统。 各模块的主要功能如下:
●系统用户的登录:实现用户通过用户名和密码进行登录的功能。
●图书信息管理:实现对图书的添加、查找、删除和修改的功能。
●借阅或归还图书管理:实现对已经借出或归还的图书信息进行统计管理。
●退出系统:结束图书管理系统。
二、概要设计
1、系统功能模块框图设计
登录窗口
主窗体
图书管理窗口
归还管理窗口
借阅管理窗口
系统管理窗口
查询
增添
编辑
删除
条件查询
退出
登录/退出
用户信息
退出
条件查询
2
2、数据库设计
创建一数据库为mydb.mdb,该数据库共包含3张表,分别为“书籍信息表”、“图书归还表”和“图书借出表”,表结构参考如下:
书籍信息表:图书编号、图书名、作者、出版社、数量、出版日期、价格;
图书归还表:图书编号、图书名、作者、出版社、数量、图书是否损坏、借出日期、归还日期;
图书借出表:图书编号、图书名、作者、出版社、借出数量、借出时间、联系电话、借出期限、借出者姓名。
表1 图书信息表
表2 图书借阅表
表3 图书归还表
三、详细设计
1、登录模块设计
登录模块的详细设计主要是用户登录的一个界面,判断登录的用户名或密码是否正确,进入后将面对的是主界面,从而进行相关的操作。
登录的界面主要由用户名和密码的信息,还有一些标题设置,登录和退出按钮组成。通过标题可以知道此系统的大概内容,由此,登录界面的设计完成,如图所示。其中,将PasswordChar设置为“*”,可将输入密码隐藏。
图1 登录界面
代码如下:
Private Sub Command1_Click()
Const user = 123, password = 123
If Text1.Text = user And Text2.Text = password Then
主窗体.Show
End If
End Sub
Private Sub Command2_Click()
退出系统.Show
End Sub
2、主窗体模块详细设计
在这个界面中创立的是一个Form窗体和如图所示的一些菜单选项。
图2 主窗体操作界面
代码如下:
Private Sub guihuan_Click()
归还管理.Show
主界面.Hide
End Sub
Private Sub jieyue_Click()
借阅管理.Show
主界面.Hide
End Sub
Private Sub tuichu_Click()
登录窗口.Show
主界面.Hide
End Sub
Private Sub tushu_Click()
图书信息管理.Show
主界面.Hide
End Sub
3、各项子模块详细设计
(1)图书信息窗口的创建
运用Data控件,点击查询,输入图书编号,即可查到关于此类书籍的相关信息。分别点击添加、删除、修改即可对图书信息进行相应的操作。其中:DatabaseName属性值得依据数据库的导入更改。
图3 学生信息查询窗口
(2)借阅管理窗口的创建
利用DataGrid控件和Adodc1控件将已借出图书信息表直接显示出。然后再用Select语句进行查找。其中需要注意的是CommandType和Recordsource属性的设置。程序运行效果如图:
图4 借出图书信息
(3)归还管理窗口的创建
图5 归还管理窗口
(4)系统退出窗口的创建
运用Label和Timer控件,创建出滚动字幕。
图6 退出界面
代码如下:
Private Sub Form_Load()
Timer1.Interval = 100
Label1.Caption = "谢谢使用长大图书管理系统!"
Label1.FontSize = 22
End Sub
Private Sub Timer1_Timer()
Label1.Move Label1.Left - 200
If (Label1.Left + Label1.Width) < 0 Then
Label1.Left = Me.ScaleWidth + 10
End If
End Sub
四、调试中存在的问题及解决方法
1、重新打开工程时,弹出错误对话框显示与data控件绑定的数据库*.mdb数据库不是有效途径
图7 错误对话框
解决办法:右击ADO控件,打开ADO控件的属性窗口,弹出ADODC属性对话窗口,点击使用连接字符串的“生成”,出现“数据连接属性”对话框,重新定义其导入数据的路径。如图
图8 属性设置对话框
2、弹出错误对话框Form子语句错误或者运用Select语句在DataGrid和ADO控件所创建的窗口中查询未显示表格中的字符。
解决办法:打开adodc1.adodc的属性编辑器,编辑Recordsource与Commandtype更改其记录源和表或存储过程名称。如下图:
图9 属性对话框
3、在单击菜单,弹出下一个窗体的过程当中,显示错误提示,如图;
图10 错误对话框
解决办法:查看代码,确定代码中的命名与窗体的命名一致即可。
五、心得体会
在这次VB课程设计过程中,我最大的收获就是深刻地认识到,做事情一定要有耐心,无论遇到什么困难,都不能心烦,否则就很难把事情好。 一开始,我以为三天就可以把课程设计搞好,谁知道我们搞了差不多一个星期。界面的设计倒是没什么问题,最有问题的就是编程了,编程是非常耗时和精力的。这一点我是深有体会的。有一次我的代码有点错误,但我看了一遍又一遍,还是找不出问题所在,我又请教了老师,老师也看了很久,也没有找到出错的地方。后来我才发现有一个数据与数据库的数据不同。
就是少了一个空格,就是一个空格花了我整整一个上午。唉!难怪我经常听到说,编程实在是太麻烦了,看到头都大了,看到就心烦了。就是一个小小的问题就让你花去一个早上的时间。所以我们无论做任何事情都要细心和耐心。无论做什么事情,我认为最重要的是在做事过程中学到东西,吸取教训。 在后期调试阶段也是很废时的。但我很有耐心,慢慢地调试,最终把这个系统软件开发出来了。在这一刻我们是最高兴的。因为我付出的汗水得到了回报!
在这次的Visual Basic设计中使我深深地体会到了,要想真正的学号一门课不是那么容易的,需要你的耐心,决心,信心,还有坚持不懈的努力。
六、参考文献
[1] VB程序设计(第四版), 邵杰(主编) 东南大学出版社
[2] Visual Basic 实验与测试(第4版),邵杰(主编) 东南大学出版社
[3] 《Visual Basic 6.0程序设计教程》,罗朝盛,人民邮电出版社
七、附录
图书信息查询窗口的代码如下:
Private Sub Command1_Click()
Dim n As String
n = InputBox("请输入图书编号:", "查找")
Data1.Recordset.Index = "ID"
Data1.Recordset.Seek "=", n
End Sub
Private Sub Command2_Click()
Dim birth As Date
If Command2.Caption = "增添" Then
Data1.Recordset.AddNew
Text1.SetFocus
Command1.Enabled = False
Command4.Enabled = False
Command2.Caption = "保存"
Command3.Caption = "取消"
Else
On Error GoTo err:
Data1.Recordset.Fields("图书编号") = Trim(Text1.Text)
Data1.Recordset.Fields("图书名") = Trim(Text2.Text)
Data1.Recordset.Fields("作者") = Trim(Text3.Text)
Data1.Recordset.Fields("出版社") = Trim(Text4.Text)
Data1.Recordset.Fields("数量") = Val(Text6.Text)
Data1.Recordset.Fields("价格") = Val(Text7.Text)
Data1.Recordset.Fields("出版日期") = CDate(Trim(Text5.Text))
Data1.Recordset.Update
Command1.Enabled = True
Command4.Enabled = True
Command2.Caption = "增添"
Command3.Caption = "删除"
Exit Sub
err:
MsgBox "添加数据到数据库时出错,注意检查各项数据是否正确。", vbCritical + vbOKOnly, "提示"
End If
End Sub
Private Sub Command3_Click()
If Command3.Caption = "取消" Then
Data1.Recordset.CancelUpdate
Text1.SetFocus
Command1.Enabled = True
Command4.Enabled = True
Command2.Caption = "增加"
Command3.Caption = "删除"
Else
Data1.Recordset.Delete
Data1.Refresh
End If
End Sub
Private Sub Command4_Click()
If Command4.Caption = "修改" Then
Data1.Recordset.Edit
Text1.SetFocus
Command1.Enabled = False
Command4.Enabled = False
Command2.Caption = "更新"
Command3.Caption = "取消"
Else
On Error GoTo err:
Data1.Recordset.Fields("图书编号") = Trim(Text1.Text)
Data1.Recordset.Fields("图书名") = Trim(Text2.Text)
Data1.Recordset.Fields("作者") = Trim(Text3.Text)
Data1.Recordset.Fields("出版社") = Trim(Text4.Text)
Data1.Recordset.Fields("数量") = Val(Text6.Text)
Data1.Recordset.Fields("价格") = Val(Text7.Text)
Data1.Recordset.Fields("出版日期") = CDate(Trim(Text5.Text))
Data1.Recordset.Update
Command1.Enabled = True
Command4.Enabled = True
Command2.Caption = "增添"
Command3.Caption = "删除"
err:
MsgBox "添加数据到数据库时出错,注意检查各项数据是否正确。", vbCritical + vbOKOnly, "提示"
End If
End Sub
借阅管理窗口代码如下:
Private Sub Command1_Click()
If Option1.Value = True Then
Adodc1.RecordSource = "select * from 图书借出表 where 图书借出表.图书编号='" + Text1.Text + "'"
Adodc1.Refresh
DataGrid1.Refresh
Text1.Text = " "
ElseIf Option2.Value = True Then
Adodc1.RecordSource = "select * from 图书借出表 where 图书借出表.图书名='" + Text1.Text + "'"
Adodc1.Refresh
DataGrid1.Refresh
Text1.Text = " "
ElseIf Option3.Value = True Then
Adodc1.RecordSource = "select * from 图书借出表 where 图书借出表.借出时间='" + Text1.Text + "'"
Adodc1.Refresh
DataGrid1.Refresh
Text1.Text = " "
ElseIf Option4.Value = True Then
Adodc1.RecordSource = "select * from 图书借出表 where 图书借出表.借出者姓名='" + Text1.Text + "'"
Adodc1.Refresh
DataGrid1.Refresh
Text1.Text = " "
End If
End Sub
Private Sub Command2_Click()
主界面.Show
借阅管理.Hide
End Sub
归还管理窗口代码如下:
Private Sub Command1_Click()
If Option1.Value = True Then
Adodc1.RecordSource = "select * from 图书归还表 where 图书归还表.图书编号='" + Text1.Text + "'"
Adodc1.Refresh
DataGrid1.Refresh
Text1.Text = " "
ElseIf Option2.Value = True Then
Adodc1.RecordSource = "select * from 图书归还表 where 图书归还表.出版社='" + Text1.Text + "'"
Adodc1.Refresh
DataGrid1.Refresh
Text1.Text = " "
ElseIf Option3.Value = True Then
Adodc1.RecordSource = "select * from 图书归还表 where 图书归还表.作者='" + Text1.Text + "'"
Adodc1.Refresh
DataGrid1.Refresh
Text1.Text = " "
ElseIf Option4.Value = True Then
Adodc1.RecordSource = "select * from 图书归还表 where 图书归还表.图书名='" + Text1.Text + "'"
Adodc1.Refresh
DataGrid1.Refresh
Text1.Text = " "
ElseIf Option5.Value = True Then
Adodc1.RecordSource = "select * from 图书归还表 where 图书归还表.图书是否损坏='" + Text1.Text + "'"
Adodc1.Refresh
DataGrid1.Refresh
Text1.Text = " "
End If
End Sub
Private Sub Command2_Click()
主界面.Show
归还管理.Hide
End Sub
目 录
第一章 总论 5
1.1项目概要 5
1.2可行性研究报告编制依据 8
1.3综合评价 8
第二章 项目背景及必要性 11
2.1项目建设背景 11
2.2项目建设的必要性 13
第三章 建设条件 16
3.1项目区概况 16
3.2项目建设条件优劣势分析 21
第四章 市场分析与销售方案 26
4.1市场分析 26
4.2销售策略、营销方案和模式 29
4.3风险分析 30
第五章 项目建设方案 32
5.1建设任务和规模 32
5.2建设规划和布局 32
5.3工艺(技术)方案 32
5.4建设内容 35
5.5实施进度安排 36
第六章 环境影响评价 38
6.1环境影响 38
6.2环境保护与治理措施 38
第七章 项目组织与管理 40
7.1组织机构与职能划分 40
7.2劳动定员 40
7.3经营管理模式 41
7.4经营管理措施 41
7.5技术培训 42
7.6劳动保护、安全卫生与消防 42
第八章 投资概算与资金来源 44
8.1投资概算依据 44
8.2投资概算 44
8.3资金来源 46
第九章 财务评价 47
9.1财务评价依据 47
9.2销售收入、销售税金和附加估算 47
9.3总成本及经营成本估算 48
9.4财务效益分析 49
9.5不确定性分析 50
9.6财务评价结论 51
第十章 社会效益评价 52
10.1社会评价基本结论 52
10.2农业产业化经营 52
10.3农民增收、农业增效评价 54
10.4其它社会影响 55
第十一章 可行性研究结论与建议 56
11.1可行性研究结论 56
11.2问题与建议 56
展开阅读全文