VBnet图书管理系统.docx
- 文档编号:15280271
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:16
- 大小:121.95KB
VBnet图书管理系统.docx
《VBnet图书管理系统.docx》由会员分享,可在线阅读,更多相关《VBnet图书管理系统.docx(16页珍藏版)》请在冰点文库上搜索。
VBnet图书管理系统
目录
1登录窗体模块组成1
2各窗体介绍1
2.1登录窗口1
2.2登录成功后的主窗口实现1
2.3登录窗口1
2.1登录窗口1
2.1登录窗口1
2.1登录窗口1
2.1登录窗口1
2.1登录窗口1
2.1登录窗口1
2.1登录窗口1
2.1登录窗口1
2.1登录窗口1
2.1登录窗口1
1登录窗体模块组成
1登录窗口
2数据库连接定义窗口
3读者增加
4学生借书与查询历史窗口
5书籍借阅历史
6主窗口
7读者选择
8增加书籍
9书籍选择
10管理员增加
2各窗体介绍
在窗体Module1.vb中定义了数据库的连接,每次读完数据库都将数据库连接关闭,在每次需要用到数据库的时候打开连接就可以了,以免以后每次用到数据库都要重新定义连接。
其定义如下
PublicconstrAsString="UserID=sa;Password=;database=homework;server=(local)"
PublicmyconAsNewSqlConnection(constr)
PublicmycomAsSqlCommand
PublicmydaAsSqlDataAdapter
2.1登录窗口
图2登录窗口界面
其登录按钮代码为:
IfComboBox1.Text=""OrTextBox1.Text=""Then
MessageBox.Show("用户名或密码不能为空","提醒",MessageBoxButtons.OK,MessageBoxIcon.Exclamation)
此句的作用是判断用户名或者密码是否为空
DimsqlstrAsString="selectCount(*)fromAdministratorWhereName='"&ComboBox1.SelectedItem&"'andPassword='"&TextBox1.Text&"'"
DimmycomAsNewSqlCommand(sqlstr,mycon)
Ifmycom.ExecuteScalar<>1Then
Else
MessageBox.Show("恭喜你登录成功!
","提醒",MessageBoxButtons.OK,MessageBoxIcon.Information)
EndIf
Me.Close()
其作用是当用户名或密码不为空时,将用户名与密码在数据库中进行比对。
比对成功就登录成功
其中在管理员登录窗口上姓名一栏已经读入了数据库中现存的管理员用户名,省去了要管理员输入用户名这一步。
如果姓名一栏没有显示出名字就说明管理员中就没有此管理员(虽然可以自己输入,但是肯定是错误的用户名)。
在登录窗口中可以分别出来是用户名错误还是用户名正确密码错误,以便管理员更正用户名或者密码来更加方便的登录系统。
2.2登录成功后的主窗口实现
图3登录成功后的主窗口界面
在此窗口中的代码很简单:
就只是菜单能在响应单击事件后能弹出窗口一般格式如下(以弹出BookAdd为例)
DimpsAsNewBookAdd
ps.StartPosition=FormStartPosition.CenterScreen
ps.Show()
登录成功后就会弹出上面所示的窗口,同时登录窗口退出在窗口顶上注明了登录人的身份。
以及一些基本信息(如:
姓名,状态,身份)。
在主界面上分为:
管理员管理,书籍管理,读者管理,查询管理,帮助。
在管理员管理,书籍管理,读者管理,查询管理菜单下都有其子菜单,以实现具体的工作,点击就可以弹出相应的菜单执行相应的操作。
其中帮组菜单没有子菜单,点击帮助菜单后就会弹出帮助文档(为.html文档)在管理员菜单下的子菜单为:
管理员维护,增加管理员。
在书籍管理菜单下的子菜单为:
新增书籍管理,书籍借阅管理,书籍信息维护。
在读者管理菜单下的子菜单为:
读者信息增加,读者信息维护,借阅历史查看。
在查询管理菜单的子菜单为:
书籍信息查询,读者信息查询。
2.3管理员信息维护
图4管理员信息维护界面
在进入主界面以后就可以通过(管理员管理管理员信息维护)进入管理员信息维护界面
在管理员信息维护界面可以修改密码
并且在修改密码的时候要求输入原密码进行身份认证,以免被恶意篡改。
更改完成后就点击上面所示窗口的“更新”按钮就可以就新信息写如数据库。
首先判断用户名与密码是否为空,新输入的密码是否两次输入不一样
IfCheckData()=FalseThen
MessageBox.Show("用户名或密码不能为空","提醒",MessageBoxButtons.OK,MessageBoxIcon.Warning)
TextBox1.Focus()
ExitSub
EndIf
IfTextBox3.Text<>TextBox4.TextThen
MessageBox.Show("新密码确认不一致!
","提醒",MessageBoxButtons.OK,MessageBoxIcon.Warning)
TextBox3.Focus()
ExitSub
EndIf
如果以上条件都满足,就进入读取数据库,将数据与输入的信息进行比较,通过比较后的结果给出提示。
2.4管理员增加窗口
在此窗口中通过输入用户名来确定一个用户,并且输入一个密码来进行身份验证。
同样,完成后点击窗口中的“增加”按钮就可以完成管理员增加
管理员增加窗口设计比较简单,仅需输入新用户名,密码,以及一次密码确认就可以增加一个管理员。
密码确认的目的是为了防止在新增加管理员的时候误输入密码避免以后的麻烦。
图5管理员增加
仍然和上面一样,先检查是否输入为空或者是否两次输入密码不一样。
如果满足条件就可以进行下面的工作了
Try
Ifmycon.State=ConnectionState.ClosedThen
mycon.Open()
EndIf
sqlstr="insertintoAdministratorvalues('"&TextBox1.Text&"','"&TextBox2.Text&"')"
mycom2=NewSqlCommand(sqlstr,mycon)
mycom2.ExecuteNonQuery()
MessageBox.Show("增加成功!
","提醒",MessageBoxButtons.OK,MessageBoxIcon.Information)
mycon.Close()
CatchexAsException
MessageBox.Show(ex.Message)
EndTry
2.5新增书籍窗口实现如下:
此窗口的功能就是录入新的图书信息,在录入图书信息时需要录入的信息有:
书籍名称,作者,出版社,书籍定价,出版日期
图6新增书籍窗口界面
在此窗口中可以进行新增书籍的操作
所有项必须全部添加
添加完成后通过点击“增加”按钮来完成新增书籍
“增加”按钮的事件代码
IfCheckData()=FalseThen
ExitSub
EndIf
Try
Ifmycon.State=ConnectionState.ClosedThen
mycon.Open()
EndIf
DimIDAsInteger
ID=GetHeightID()
DimID1AsNewSqlParameter("@ID1",SqlDbType.Int,4)
ID1.Value=ID+1
DimsqlstrAsString="insertintoBookvalues(@ID1,'"&TextBox2.Text&"','"&TextBox3.Text&"','"&TextBox4.Text&"','"&TextBox5.Text&"','"&TextBox6.Text&"',1)"
DimmycomAsNewSqlCommand(sqlstr,mycon)
mycom.Parameters.Add(ID1)
mycom.ExecuteNonQuery()
MessageBox.Show("恭喜你,保存成功!
","提醒",MessageBoxButtons.OK,MessageBoxIcon.Information)
CallClearData()
mycon.Close()
CatchexAsException
MessageBox.Show(ex.Message)
EndTry
2.6图书信息维护实现如下
图7图书信息维护界面
在此窗口中可以修改图书自身信息
如果在录入过程中输入错误书籍信息。
就可以通过这里进行补救。
对图书信息的作者,出版社,定价,出版日期进行修改修改完成后还是通过“更新”按钮来确认修改信息
“更新”按钮主要代码:
Ifmycon.State=ConnectionState.ClosedThen
mycon.Open()
EndIf
DimID2AsNewSqlParameter("@ID2",SqlDbType.Int,4)
ID2.Value=ID1
DimsqlstrAsString="updateBooksetName='"&ComboBox1.Text&"',Anchor='"&TextBox1.Text&"',Publisher='"&TextBox2.Text&"',Price='"&TextBox3.Text&"',PublishDate='"&TextBox4.Text&"'WhereID=@ID2andFlag='0'"
DimmycomAsNewSqlCommand(sqlstr,mycon)
mycom.Parameters.Add(ID2)
mycom.ExecuteNonQuery()
MessageBox.Show("更新成功!
","恭喜",MessageBoxButtons.OK,MessageBoxIcon.Information)
mycon.Close()
2.7读者增加窗口实现如下:
图8读者增加窗口界面
在此窗口中管理员可以受动输入读者信息来增加读者
新增读者中包含的项目如下:
学号姓名性别最大借阅册数最大借阅天数
在“增加”按钮中的主要代码为:
IfIsCheckSno()=FalseThen
MessageBox.Show("你输入的学号不正确,请重新输入","提醒",MessageBoxButtons.OK,MessageBoxIcon.Warning)
TextBox1.Text=""
ExitSub
EndIf
Ifmycon.State=ConnectionState.ClosedThen
mycon.Open()
EndIf
DimsqlstrAsString="insertintoStudents(SID,Sno,SName,Sex,MaxNumber,MaxDays,RemainNumber)Values(@ID,'"&TextBox1.Text&"','"&TextBox2.Text&"',@Sex,'"&TextBox3.Text&"','"&TextBox4.Text&"','"&TextBox3.Text&"')"
Dimmycom1AsNewSqlCommand(sqlstr,mycon)
mycom1.Parameters.Add(ID)
mycom1.Parameters.Add(Sex)
mycom1.ExecuteNonQuery()
MessageBox.Show("增加读者成功!
","恭喜",MessageBoxButtons.OK,MessageBoxIcon.Information)
mycon.Close()
2.8读者信息维护窗口
图9读者信息维护界面
通过此窗口进行读者信息维护,如果你不能确定是否需要修改读者信息,可以通过窗口上部的查询来确认是否需要进行修改读者信息。
读者所有的信息都可以在这里进行修改(姓名,性别,最大借阅册数,最大借阅天数)点击更新就可以将新数据写入数据库,点击删除可以删除读者信息。
点击退出可以退出本窗口。
首先对学号进行匹配检查如果检查成功就执行下列代码:
Try
Ifmycon.State=ConnectionState.ClosedThen
mycon.Open()
EndIf
DimSex1AsString
IfRadioButton1.Checked=TrueThen
Sex1="男"
Else
Sex1="女"
EndIf
DimSexAsNewSqlParameter("@Sex",SqlDbType.VarChar,2)
Sex.Value=Sex1
DimsqlstrAsString="updateStudentssetSName='"&TextBox3.Text&"',Sex=@Sex,MaxNumber='"&TextBox4.Text&"',MaxDays='"&TextBox5.Text&"'WhereSno='"&TextBox2.Text&"'"
Dimmycom1AsNewSqlCommand(sqlstr,mycon)
mycom1.Parameters.Add(Sex)
mycom1.ExecuteNonQuery()
MessageBox.Show("该学生信息更新成功!
","恭喜",MessageBoxButtons.OK,MessageBoxIcon.Information)
2.9借阅历史查看
图10借阅历史查看界面
在进行书籍借阅的时候需要确定读者是否还有借阅资格,就需要查明借阅书籍的历史看有多少书籍还没有归还以确定是否还能借阅。
在查询的时候只需要输入学号就可以进行查阅。
查询后的内容包括:
书籍编号,书籍名称,借阅开始日期,书籍归还日期,书籍到期日期。
“查询”按钮的代码
IfCheckData()=FalseThen
ExitSub
EndIf
IfExistSno()=FalseThen
ExitSub
EndIf
FillDataToListView1()
其中FillDataToListView1()为自己写的一个方法,代码太多,这里就不粘贴了。
2.10书籍信息查询
图11书籍信息查询
通过此窗口可以进行书籍信息的查询,包括:
书籍名称,书籍作者,出版社等等。
在设置查询条件时可以设置一个或者多个查询条件,但是如果设置的两个条件互不匹配就不能得出结果。
并且可以设置模糊设置或者关系查询。
查询后的结果包括:
书籍编号,书籍名称,书籍作者,出版社,出版日期,书籍定价。
为了在窗口中可以多次查询,设置了一个“清空列表框”来清空查询结果以便再次查询。
这里只写出与数据库有关联的代码:
(sqlstr与textbox.text有关)
sqlstr=sqlstr.Substring(0,sqlstr.Length-logic.Length)'取子字符传,相当与减去末端的逻辑操作符
CatchexAsException
MessageBox.Show(ex.Message)
EndTry
FillDataToListView1()
IfListView1.ItemsIsNothingThen
MessageBox.Show("没有满足条件的记录!
","提醒",MessageBoxButtons.OK,MessageBoxIcon.Warning)
EndIf
2.11读者信息查询
在读者信息查询结果中可以查询到:
学号,姓名,性别,最大借阅册数,可借书籍数码。
在此窗口中同样可以设置模糊查询或者关系查询。
设置查询条件可以设置:
学号,姓名,性别,最大借阅册数,最大借阅天数,可借书籍数目,来查询。
在学号,姓名,最大借阅册数,最大借阅天数,可借书籍数目的其中一个条件来查询。
图12读者信息查询界面
此功能是在条件下的数据库查询,和“书籍信息查询”类似,代码也比较多。
两周的时间并不长,一晃就到了,课程设计也要画上句号了。
在这一段时间里里,不能说我的vb编程能力有了多么大的提高,多么大的飞跃,但我敢说我对vb和数据库相关的知识有了更加深刻的了解和体会,总结起来主要有以下几点:
1、想要用vb做出好的东西来,一定要勤动手,不能光看,因为好多错误凭看是看不出来的,只有通过自己不断的操作和修改,才能对vb的语法结构和流程有自己独到的理解;
2、在编程和调试的过程中,总会出现一些意想不到的问题。
我发现并不是每一个问题都能从资料中得到解决方法,有些问题是无法预料的,这个时候就得靠自己去分析了,你必须得非常的细心,一步一步的进行调试和修改,而且不能急,往往有的错误就是在你急躁的时候从你眼皮底下溜过去的,这样又得重新检查,到头来,既费时又费力,实在不行,还可以和同学一起进行讨论;
3、在写代码的时候,一定要养成良好的语法习惯,对窗体和控件的name属性和caption属性,要尽量习惯用相对应的英文单词的缩写或简写,因为这样便于自己的查找和修改,还有就是在写代码的时候,不要图简单,一些语法结构总是不写全,老是用最简单的形式,如果你对vb语法结构很熟的话,这没问题,但对于我们这样的初学者来说,一定不要这样,因为时间长了的话,对一些复杂一点的程序理解起来会很吃力的,而且对其的运行过程的了解不能达到透彻;
4、在数据库的操作部分,一定检验一下数据源的连接成功与否,还有就是在控件与数据库连接的时候,不要忘了每个控件的datasource属性和datafield属性,要确保其于数据库的成功连接。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VBnet 图书 管理 系统
![提示](https://static.bingdoc.com/images/bang_tan.gif)