当前位置:文档之家› VBnet图书管理系统

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)II 1登录窗体模块组成1登录窗口2数据库连接定义窗口 3读者增加4学生借书与查询历史窗口 5书籍借阅历史 6主窗口 7读者选择 8增加书籍 9书籍选择 10管理员增加2各窗体介绍在窗体Module1.vb 中定义了数据库的连接,每次读完数据库都将数据库连接关闭,在每次需要用到数据库的时候打开连接就可以了,以免以后每次用到数据库都要重新定义连接。

其定义如下Public constr As String = "User ID=sa; Password=; 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 = "" ThenMessageBox.Show("用户名或密码不能为空", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) 此句的作用是判断用户名或者密码是否为空Dim sqlstr As String = "select Count(*) from Administrator WhereName='"& ComboBox1.SelectedItem & "' and Password='" & TextBox1.Text & "'"Dim mycom As New SqlCommand(sqlstr, mycon)If mycom.ExecuteScalar <> 1 ThenElseMessageBox.Show("恭喜你登录成功!", "提醒", MessageBoxButtons.OK, rmation)End IfMe.Close()其作用是当用户名或密码不为空时,将用户名与密码在数据库中进行比对。

比对成功就登录成功其中在管理员登录窗口上姓名一栏已经读入了数据库中现存的管理员用户名,省去了要管理员输入用户名这一步。

如果姓名一栏没有显示出名字就说明管理员中就没有此管理员(虽然可以自己输入,但是肯定是错误的用户名)。

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

2.2登录成功后的主窗口实现图3登录成功后的主窗口界面在此窗口中的代码很简单:就只是菜单能在响应单击事件后能弹出窗口一般格式如下(以弹出BookAdd为例)Dim ps As New BookAddps.StartPosition = FormStartPosition.CenterScreenps.Show()登录成功后就会弹出上面所示的窗口,同时登录窗口退出在窗口顶上注明了登录人的身份。

以及一些基本信息(如:姓名,状态,身份)。

在主界面上分为:管理员管理,书籍管理,读者管理,查询管理,帮助。

在管理员管理,书籍管理,读者管理,查询管理菜单下都有其子菜单,以实现具体的工作,点击就可以弹出相应的菜单执行相应的操作。

其中帮组菜单没有子菜单,点击帮助菜单后就会弹出帮助文档(为.html文档)在管理员菜单下的子菜单为:管理员维护,增加管理员。

在书籍管理菜单下的子菜单为:新增书籍管理,书籍借阅管理,书籍信息维护。

在读者管理菜单下的子菜单为:读者信息增加,读者信息维护,借阅历史查看。

在查询管理菜单的子菜单为:书籍信息查询,读者信息查询。

2.3管理员信息维护IIII图4管理员信息维护界面在进入主界面以后就可以通过(管理员管理 管理员信息维护)进入管理员信息维护界面在管理员信息维护界面可以修改密码并且在修改密码的时候要求输入原密码进行身份认证,以免被恶意篡改。

更改完成后就点击上面所示窗口的“更新”按钮就可以就新信息写如数据库。

首先判断用户名与密码是否为空,新输入的密码是否两次输入不一样If CheckData() = False ThenMessageBox.Show("用户名或密码不能为空", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Warning)TextBox1.Focus()Exit SubEnd IfIf TextBox3.Text <> TextBox4.Text ThenMessageBox.Show("新密码确认不一致!", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Warning)TextBox3.Focus()Exit SubEnd If如果以上条件都满足,就进入读取数据库,将数据与输入的信息进行比较,通过比较后的结果给出提示。

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

同样,完成后点击窗口中的“增加”按钮就可以完成管理员增加管理员增加窗口设计比较简单,仅需输入新用户名,密码,以及一次密码确认就可以增加一个管理员。

密码确认的目的是为了防止在新增加管理员的时候误输入密码避免以后的麻烦。

I图5管理员增加仍然和上面一样,先检查是否输入为空或者是否两次输入密码不一样。

如果满足条件就可以进行下面的工作了TryIf mycon.State = ConnectionState.Closed Thenmycon.Open()End Ifsqlstr = "insert into Administrator values('" &TextBox1.Text & "','" & TextBox2.Text & "')"mycom2 = New SqlCommand(sqlstr, mycon)mycom2.ExecuteNonQuery()MessageBox.Show("增加成功!", "提醒", MessageBoxButtons.OK, rmation)mycon.Close()Catch ex As ExceptionMessageBox.Show(ex.Message)End Try2.5新增书籍窗口实现如下:此窗口的功能就是录入新的图书信息,在录入图书信息时需要录入的信息有:书籍名称,作者,出版社,书籍定价,出版日期IV图6新增书籍窗口界面在此窗口中可以进行新增书籍的操作所有项必须全部添加添加完成后通过点击“增加”按钮来完成新增书籍“增加”按钮的事件代码If CheckData() = False ThenExit SubEnd IfTryIf mycon.State = ConnectionState.Closed Thenmycon.Open()End IfDim ID As IntegerID = GetHeightID()Dim ID1 As New SqlParameter("@ID1", SqlDbType.Int, 4)ID1.Value = ID + 1Dim 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()MessageBox.Show("恭喜你,保存成功!", "提醒", MessageBoxButtons.OK, rmation)Call ClearData()mycon.Close()Catch ex As ExceptionMessageBox.Show(ex.Message)End TryI2.6图书信息维护实现如下图7图书信息维护界面在此窗口中可以修改图书自身信息如果在录入过程中输入错误书籍信息。

就可以通过这里进行补救。

对图书信息的作者,出版社,定价,出版日期进行修改修改完成后还是通过“更新”按钮来确认修改信息“更新”按钮主要代码:If mycon.State = ConnectionState.Closed Thenmycon.Open()End IfDim ID2 As New SqlParameter("@ID2", SqlDbType.Int, 4)ID2.Value = ID1Dim 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()MessageBox.Show("更新成功!", "恭喜", MessageBoxButtons.OK, rmation)mycon.Close()2.7读者增加窗口实现如下:II图8读者增加窗口界面在此窗口中管理员可以受动输入读者信息来增加读者新增读者中包含的项目如下:学号姓名性别最大借阅册数最大借阅天数在“增加”按钮中的主要代码为:If IsCheckSno() = False ThenMessageBox.Show("你输入的学号不正确,请重新输入", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Warning)TextBox1.Text = ""Exit SubEnd IfIf mycon.State = ConnectionState.Closed Thenmycon.Open()End IfDim sqlstr As String = "insert intoStudents(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()MessageBox.Show("增加读者成功!", "恭喜",MessageBoxButtons.OK, rmation)mycon.Close()I2.8读者信息维护窗口图9读者信息维护界面通过此窗口进行读者信息维护,如果你不能确定是否需要修改读者信息,可以通过窗口上部的查询来确认是否需要进行修改读者信息。

相关主题