人人范文网 范文大全

VBnet图书管理系统

发布时间:2020-03-02 15:59:15 来源:范文大全 收藏本文 下载本文 手机版

目录

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

I 1登录窗体模块组成

1登录窗口

2数据库连接定义窗口 3读者增加

4学生借书与查询历史窗口 5书籍借阅历史 6主窗口 7读者选择 8增加书籍 9书籍选择 10管理员增加

2各窗体介绍

在窗体Module1.vb中定义了数据库的连接,每次读完数据库都将数据库连接关闭,在每次需要用到数据库的时候打开连接就可以了,以免以后每次用到数据库都要重新定义连接。其定义如下

Public constr As String = \"User ID=sa; Paword=; database=homework; server=(local)\" Public mycon As New SqlConnection(constr) Public mycom As SqlCommand Public myda As SqlDataAdapter 2.1 登录窗口

图2登录窗口界面

其登录按钮代码为:

If ComboBox1.Text = \"\" Or TextBox1.Text = \"\" Then MeageBox.Show(\"用户名或密码不能为空\", \"提醒\", MeageBoxButtons.OK, MeageBoxIcon.Exclamation) 此句的作用是判断用户名或者密码是否为空

Dim sqlstr As String = \"select Count(*) from Administrator Where Name=\'\" I & ComboBox1.SelectedItem & \"\' and Paword=\'\" & TextBox1.Text & \"\'\" Dim mycom As New SqlCommand(sqlstr, mycon) If mycom.ExecuteScalar 1 Then Else MeageBox.Show(\"恭喜你登录成功!\", \"提醒\", MeageBoxButtons.OK, MeageBoxIcon.Information) End If Me.Close() 其作用是当用户名或密码不为空时,将用户名与密码在数据库中进行比对。比对成功就登录成功

其中在管理员登录窗口上姓名一栏已经读入了数据库中现存的管理员用户名,省去了要管理员输入用户名这一步。如果姓名一栏没有显示出名字就说明管理员中就没有此管理员(虽然可以自己输入,但是肯定是错误的用户名)。

在登录窗口中可以分别出来是用户名错误还是用户名正确密码错误,以便管理员更正用户名或者密码来更加方便的登录系统。

2.2登录成功后的主窗口实现

图3登录成功后的主窗口界面

在此窗口中的代码很简单:就只是菜单能在响应单击事件后能弹出窗口一般格式如下(以弹出BookAdd为例)

Dim ps As New BookAdd ps.StartPosition = FormStartPosition.CenterScreen ps.Show() 登录成功后就会弹出上面所示的窗口,同时登录窗口退出在窗口顶上注明了登录人的身份。以及一些基本信息(如:姓名,状态,身份)。在主界面上分为:管理员管理,书籍管理,读者管理,查询管理,帮助。在管理员管理,书籍管理,读者管理,查询管理菜单下都有其子菜单,以实现具体的工作,点击就可以弹出相应的菜单执行相应的操作。其中帮组菜单没有子菜单,点击帮助菜单后就会弹出帮助文档(为.html文档)在管理员菜单下的子菜单为:管理员维护,增加管理员。在书籍管理菜单下的子菜单为:新增书籍管理,书籍借阅管理,书籍信息维护。在读者管理菜单下的子菜单为: 读者信息增加,读者信息维护,借阅历史查看。在查询管理菜单的子菜单为:书籍信息查询,读者信息查询。

2.3管理员信息维护

II

图4管理员信息维护界面

在进入主界面以后就可以通过(管理员管理管理员信息维护)进入管理员信息维护界面

在管理员信息维护界面可以修改密码

并且在修改密码的时候要求输入原密码进行身份认证,以免被恶意篡改。 更改完成后就点击上面所示窗口的“更新”按钮就可以就新信息写如数据库。 首先判断用户名与密码是否为空,新输入的密码是否两次输入不一样 If CheckData() = False Then MeageBox.Show(\"用户名或密码不能为空\", \"提醒\", MeageBoxButtons.OK, MeageBoxIcon.Warning) TextBox1.Focus() Exit Sub End If If TextBox3.Text TextBox4.Text Then MeageBox.Show(\"新密码确认不一致!\", \"提醒\", MeageBoxButtons.OK, MeageBoxIcon.Warning) TextBox3.Focus() Exit Sub End If 如果以上条件都满足,就进入读取数据库,将数据与输入的信息进行比较,通过比较后的结果给出提示。

2.4管理员增加窗口

在此窗口中通过输入用户名来确定一个用户,并且输入一个密码来进行身份验证。

同样,完成后点击窗口中的“增加”按钮就可以完成管理员增加

管理员增加窗口设计比较简单,仅需输入新用户名,密码,以及一次密码确认就可以增加一个管理员。密码确认的目的是为了防止在新增加管理员的时候误输入密码避免以后的麻烦。

III

图5管理员增加

仍然和上面一样,先检查是否输入为空或者是否两次输入密码不一样。如果满足条件就可以进行下面的工作了 Try If mycon.State = ConnectionState.Closed Then mycon.Open() End If sqlstr = \"insert into Administrator values(\'\" & TextBox1.Text & \"\',\'\" & TextBox2.Text & \"\')\" mycom2 = New SqlCommand(sqlstr, mycon) mycom2.ExecuteNonQuery() MeageBox.Show(\"增加成功!\", \"提醒\", MeageBoxButtons.OK, MeageBoxIcon.Information) mycon.Close() Catch ex As Exception MeageBox.Show(ex.Meage) End Try 2.5新增书籍窗口实现如下:

此窗口的功能就是录入新的图书信息,在录入图书信息时需要录入的信息有 :书籍名称,作者,出版社,书籍定价,出版日期

IV

图6新增书籍窗口界面

在此窗口中可以进行新增书籍的操作 所有项必须全部添加

添加完成后通过点击“增加”按钮来完成新增书籍 “增加”按钮的事件代码

If CheckData() = False Then Exit Sub End If Try If mycon.State = ConnectionState.Closed Then mycon.Open() End If Dim ID As Integer ID = GetHeightID() Dim ID1 As New SqlParameter(\"@ID1\", SqlDbType.Int, 4) ID1.Value = ID + 1 Dim sqlstr As String = \"insert into Book values(@ID1,\'\" & TextBox2.Text & \"\',\'\" & TextBox3.Text & \"\',\'\" & TextBox4.Text & \"\',\'\" & TextBox5.Text & \"\',\'\" & TextBox6.Text & \"\',1)\" Dim mycom As New SqlCommand(sqlstr, mycon) mycom.Parameters.Add(ID1) mycom.ExecuteNonQuery() MeageBox.Show(\"恭喜你,保存成功!\", \"提醒\", MeageBoxButtons.OK, MeageBoxIcon.Information) Call ClearData() mycon.Close() Catch ex As Exception MeageBox.Show(ex.Meage) End Try I 2.6图书信息维护实现如下

图7图书信息维护界面

在此窗口中可以修改图书自身信息

如果在录入过程中输入错误书籍信息。就可以通过这里进行补救。对图书信息的作者,出版社,定价,出版日期进行修改修改完成后还是通过“更新”按钮来确认修改信息

“更新”按钮主要代码:

If mycon.State = ConnectionState.Closed Then mycon.Open() End If Dim ID2 As New SqlParameter(\"@ID2\", SqlDbType.Int, 4) ID2.Value = ID1 Dim sqlstr As String = \"update Book set Name=\'\" & ComboBox1.Text & \"\' ,Anchor=\'\" & TextBox1.Text & \"\',Publisher=\'\" & TextBox2.Text & \"\',Price=\'\" & TextBox3.Text & \"\',PublishDate=\'\" & TextBox4.Text & \"\' Where ID=@ID2 and Flag=\'0\'\" Dim mycom As New SqlCommand(sqlstr, mycon) mycom.Parameters.Add(ID2) mycom.ExecuteNonQuery() MeageBox.Show(\"更新成功!\", \"恭喜\", MeageBoxButtons.OK, MeageBoxIcon.Information) mycon.Close() 2.7读者增加窗口实现如下:

II

图8读者增加窗口界面

在此窗口中管理员可以受动输入读者信息来增加读者 新增读者中包含的项目如下:

学号 姓名 性别 最大借阅册数 最大借阅天数 在“增加”按钮中的主要代码为: If IsCheckSno() = False Then MeageBox.Show(\"你输入的学号不正确,请重新输入\", \"提醒\", MeageBoxButtons.OK, MeageBoxIcon.Warning) TextBox1.Text = \"\" Exit Sub End If If mycon.State = ConnectionState.Closed Then mycon.Open()

End If Dim sqlstr As String = \"insert into Students(SID,Sno,SName,Sex,MaxNumber,MaxDays,RemainNumber) Values(@ID,\'\" & TextBox1.Text & \"\',\'\" & TextBox2.Text & \"\',@Sex,\'\" & TextBox3.Text & \"\',\'\" & TextBox4.Text & \"\',\'\" & TextBox3.Text & \"\')\" Dim mycom1 As New SqlCommand(sqlstr, mycon) mycom1.Parameters.Add(ID) mycom1.Parameters.Add(Sex) mycom1.ExecuteNonQuery() MeageBox.Show(\"增加读者成功!\", \"恭喜\", MeageBoxButtons.OK, MeageBoxIcon.Information) mycon.Close() I 2.8读者信息维护窗口

图9读者信息维护界面

通过此窗口进行读者信息维护 ,如果你不能确定是否需要修改读者信息,可以通过窗口上部的查询来确认是否需要进行修改读者信息。读者所有的信息都可以在这里进行修改(姓名,性别,最大借阅册数,最大借阅天数)点击更新就可以将新数据写入数据库,点击删除可以删除读者信息。点击退出可以退出本窗口。

首先对学号进行匹配检查如果检查成功就执行下列代码: Try If mycon.State = ConnectionState.Closed Then mycon.Open() End If

Dim Sex1 As String If RadioButton1.Checked = True Then Sex1 = \"男\" Else Sex1 = \"女\" End If Dim Sex As New SqlParameter(\"@Sex\", SqlDbType.VarChar, 2) Sex.Value = Sex1 Dim sqlstr As String = \"update Students set SName=\'\" & TextBox3.Text & \"\',Sex=@Sex,MaxNumber=\'\" & TextBox4.Text & \"\',MaxDays=\'\" & TextBox5.Text & \"\' Where Sno=\'\" & TextBox2.Text & \"\'\" Dim mycom1 As New SqlCommand(sqlstr, mycon) mycom1.Parameters.Add(Sex) mycom1.ExecuteNonQuery() MeageBox.Show(\"该学生信息更新成功!\", \"恭喜\", MeageBoxButtons.OK, MeageBoxIcon.Information) 2.9借阅历史查看

II

图10借阅历史查看界面

在进行书籍借阅的时候需要确定读者是否还有借阅资格,就需要查明借阅书籍的历史看有多少书籍还没有归还以确定是否还能借阅。在查询的时候只需要输入学号就可以进行查阅。查询后的内容包括:书籍编号,书籍名称,借阅开始日期,书籍归还日期,书籍到期日期。

“查询”按钮的代码

If CheckData() = False Then Exit Sub End If If ExistSno() = False Then Exit Sub End If FillDataToListView1() 其中FillDataToListView1()为自己写的一个方法,代码太多,这里就不粘贴了。 2.10书籍信息查询

图11书籍信息查询

III 通过此窗口可以进行书籍信息的查询,包括:书籍名称,书籍作者,出版社等等。在设置查询条件时可以设置一个或者多个查询条件,但是如果设置的两个条件互不匹配就不能得出结果。并且可以设置模糊设置或者关系查询。查询后的结果包括:书籍编号,书籍名称,书籍作者,出版社,出版日期,书籍定价。为了在 窗口中可以多次查询,设置了一个“清空列表框”来清空查询结果以便再次查询。

这里只写出与数据库有关联的代码:(sqlstr与textbox.text有关)

sqlstr = sqlstr.Substring(0, sqlstr.Length - logic.Length) \'取子字符传,相当与减去末端的逻辑操作符 Catch ex As Exception MeageBox.Show(ex.Meage) End Try FillDataToListView1() If ListView1.Items Is Nothing Then MeageBox.Show(\"没有满足条件的记录!\", \"提醒\", MeageBoxButtons.OK, MeageBoxIcon.Warning) End If 2.11读者信息查询

在读者信息查询结果中可以查询到:学号,姓名,性别,最大借阅册数,可借书籍数码。在此窗口中同样可以设置模糊查询或者关系查询。设置查询条件可以设置:学号,姓名,性别,最大借阅册数,最大借阅天数,可借书籍数目,来查询。在学号,姓名,最大借阅册数,最大借阅天数,可借书籍数目的其中一个条件来查询。

图12读者信息查询界面

此功能是在条件下的数据库查询,和“书籍信息查询”类似,代码也比较多。

两周的时间并不长,一晃就到了,课程设计也要画上句号了。在这一段时间里里,不能说我的vb编程能力有了多么大的提高,多么大的飞跃,但我敢说我对vb和数据库相关的知识有了更加深刻的了解和体会,总结起来主要有以下几点:

1、想要用vb做出好的东西来,一定要勤动手,不能光看,因为好多错误凭看是看 IV 不出来的,只有通过自己不断的操作和修改,才能对vb的语法结构和流程有自己独到的理解;

2、在编程和调试的过程中,总会出现一些意想不到的问题。我发现并不是每一个问题都能从资料中得到解决方法,有些问题是无法预料的,这个时候就得靠自己去分析了,你必须得非常的细心,一步一步的进行调试和修改,而且不能急,往往有的错误就是在你急躁的时候从你眼皮底下溜过去的,这样又得重新检查,到头来,既费时又费力,实在不行,还可以和同学一起进行讨论;

3、在写代码的时候,一定要养成良好的语法习惯,对窗体和控件的name属性和caption属性,要尽量习惯用相对应的英文单词的缩写或简写,因为这样便于自己的查找和修改,还有就是在写代码的时候,不要图简单,一些语法结构总是不写全,老是用最简单的形式,如果你对vb语法结构很熟的话,这没问题,但对于我们这样的初学者来说,一定不要这样,因为时间长了的话,对一些复杂一点的程序理解起来会很吃力的,而且对其的运行过程的了解不能达到透彻;

4、在数据库的操作部分,一定检验一下数据源的连接成功与否,还有就是在控件与数据库连接的时候,不要忘了每个控件的datasource属性和datafield属性,要确保其于数据库的成功连接。

V

图书管理系统

图书管理系统

图书管理系统

图书管理系统

图书管理系统

图书管理系统

图书管理系统答案

图书管理系统目录

图书管理系统报告书

图书管理系统心得

VBnet图书管理系统
《VBnet图书管理系统.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档