6.2 登陆窗体的设计 这个窗体主要用来对管理员进行登录操作,管理员输入“编号”和“密码”后对管理员输入的进行验证。如果用户编号和密码正确单击“确定”进入系统主窗体。 paper51.com 添加一个窗体,这个窗体共由1个form控件、4个label控件、3个textbox控件和2个button控件组成。窗体运行效果如图所示。 http://www.paper51.com 图9 系统登陆窗体 http://www.paper51.com 主要代码设计: paper51.com // '判断用户输入密码的合法性 内容来自www.paper51.com IfMe.UserPwd.Trim() = Me.txbPwd.Text.Trim() _ http://www.paper51.com AndUserPwd <> "" Then 内容来自论文无忧网 www.paper51.com '合法用户 copyright paper51.com ' bResult = True 内容来自论文无忧网 www.paper51.com
'UserName = Me.txbName.Text.Trim() 内容来自www.paper51.com 'Me.Close() 内容来自www.paper51.com Dim frmlogin As New frmMain copyright paper51.com
frmlogin.Show() 内容来自www.paper51.com Me.Hide() 内容来自论文无忧网 www.paper51.com Else copyright paper51.com
'密码错误 http://www.paper51.com bResult = False copyright paper51.com MessageBox.Show("请确认你的用户名或密码是否正确") 内容来自论文无忧网 www.paper51.com EndIf paper51.com End Sub 内容来自论文无忧网 www.paper51.com …… …… …… …… paper51.com 在该窗体加载时候进行数据库的连接输入编号,如果编号正确,自动加载姓名,然后输入用户密码。如果密码正确进入系统主窗体控件。如果密码不正确,提示密码错误。 paper51.com 6.3 主窗体的设计 copyright paper51.com 本窗体主要是由读者管理、图书管理、流通管理和退出系统等几个菜单控件组成。选择主菜单中的各菜单项即可进入相应的功能模块。 paper51.com 主窗体名为frmMain,窗体运行效果如图10所示。 http://www.paper51.com 图10 系统主窗体 copyright paper51.com
6.4 创建数据访问模块 copyright paper51.com
因为各个窗体均需要对数据库进行访问,可以把数据库的一些操作通过一个类实现,这样就可以使对数据库的访问更加简单。添加一个名为“DataBase.vb”的类文件。主要代码设计: http://www.paper51.com Public Class DataBase 内容来自论文无忧网 www.paper51.com '实现接口IDisposable http://www.paper51.com Implements IDisposable paper51.com '数据库连接对象 copyright paper51.com Private SqlConn As SqlConnection copyright paper51.com Public Shared sConn As String ="Persist Security Info=False;IntegratedSecurity=SSPI;database=libbook;server=本机数据库服务器名称;Connect Timeout=30" http://www.paper51.com …… …… …… …… http://www.paper51.com Public Sub Open() paper51.com IfSqlConn Is Nothing = True Then paper51.com
'建立数据库连接对象 paper51.com SqlConn = New SqlConnection(Me.sConn) 内容来自www.paper51.com
'打开数据库连接 内容来自论文无忧网 www.paper51.com SqlConn.Open() 内容来自论文无忧网 www.paper51.com
EndIf 内容来自www.paper51.com EndSub 内容来自www.paper51.com
Public Sub Close() 内容来自www.paper51.com
'如果数据库连接对象不为空则关闭数据库连接 copyright paper51.com IfSqlConn Is Nothing = False Then copyright paper51.com SqlConn.Close() 内容来自论文无忧网 www.paper51.com EndIf http://www.paper51.com EndSub copyright paper51.com 6.5 创建数据操作窗体的父类窗体 http://www.paper51.com 因为系统中所有对数据库表进行维护的窗体界面及实现的功能大体都是一致的,可以把这些共同的部分抽取出来,生成一个父类窗体,其他数据库操作窗体均可以通过继承父类窗体获得数据维护的功能。添加控件后窗体如图11所示。 http://www.paper51.com
图11 基础窗体frmbase.vb paper51.com 主要代码设计: paper51.com
Case "首记录" 内容来自论文无忧网 www.paper51.com
'返回首记录 内容来自论文无忧网 www.paper51.com
bmData.Position = 0 paper51.com ………… …… …… copyright paper51.com Case "删除" 内容来自www.paper51.com '弹出询问对话框 paper51.com
Dim dlgResult As DialogResult = _ 内容来自www.paper51.com MessageBox.Show("你确认删除此数据?", _ copyright paper51.com
"删除",MessageBoxButtons.OKCancel) 内容来自www.paper51.com
If dlgResult = DialogResult.OK Then 内容来自www.paper51.com DeleteData() 内容来自www.paper51.com EndIf copyright paper51.com Case "保存" 内容来自论文无忧网 www.paper51.com
SetToolBarState(True) paper51.com
SetTextBoxState(True) paper51.com If bAdd = True Then http://www.paper51.com '为新增数据保存 内容来自论文无忧网 www.paper51.com SaveForAdd() 内容来自论文无忧网 www.paper51.com
Else 内容来自www.paper51.com
'为更新数据保存 内容来自www.paper51.com SaveForUpdate() http://www.paper51.com
End If 内容来自论文无忧网 www.paper51.com Me.dgdList.Enabled = True paper51.com Case "取消" paper51.com SetTextBoxState(True) http://www.paper51.com
SetToolBarState(True) copyright paper51.com Me.dgdList.Enabled = True http://www.paper51.com SearchResult() 内容来自论文无忧网 www.paper51.com
Case "退出" copyright paper51.com
'关闭本窗体 paper51.com Me.Close() 内容来自论文无忧网 www.paper51.com EndSelect copyright paper51.com …… …… …… …… http://www.paper51.com 6.6 读者类别设置模块 内容来自www.paper51.com 本窗体首先显示全部的读者类型。它实现对读者类别的管理,如添加、修改、删除等操作。也可以对输入的类型进行搜索操作。当单击“添加”或者“修改”按扭时,激活“保存”和“取消”按扭。可以把管理员对读者类型表中各条信息所做的操作进行保存或者取消保存。修改和保存过后的数据直接保存到数据库,窗体运行效果如图12所示。 http://www.paper51.com 图12 读者类别设置功能窗体 copyright paper51.com
主要代码实现如下: 内容来自www.paper51.com
Dim dr As DataRow = DataSet11.Tables("读者类型").NewRow() 内容来自论文无忧网 www.paper51.com Try copyright paper51.com
dr("类型")= txbType.Text.Trim 内容来自www.paper51.com
dr("图书册书")= txbBookCount.Text.Trim paper51.com
dr("续借次数")= txbTimes.Text.Trim 内容来自www.paper51.com dr("限制图书")= cbbBook.Checked.ToString 内容来自www.paper51.com
Catch ex As Exception http://www.paper51.com 6.7 读者档案管理功能模块 copyright paper51.com 本窗体功能和读者类别设置模块的功能几乎一致,只不过这里是对读者档案的设置信息。同样具有添加,修改,删除以及保存和取消保存的功能。窗体运行效果如图13所示。 内容来自www.paper51.com 图13 读者档案管理功能窗体 http://www.paper51.com 主要代码的设计如下: copyright paper51.com
Public Overrides Sub Prepare() 内容来自www.paper51.com Me.Text= "读者档案管理" paper51.com Me.Label1.Text = " 条形码" 内容来自www.paper51.com Me.Label2.Text = " 编号" 内容来自www.paper51.com Me.Label3.Text = " 姓名" 内容来自www.paper51.com
Dimdb As DataBase = New DataBase 内容来自论文无忧网 www.paper51.com Dimdv As DataView = _ 内容来自论文无忧网 www.paper51.com db.RunSelectSQL("select 类型 from 读者类型") paper51.com 6.8 图书类别设置的功能模块 内容来自论文无忧网 www.paper51.com 本窗体功能和读者类别设置模块的功能一样,只不过这里是对图书的类别的设置信息。同样具有搜索,添加,修改,删除以及保存和取消保存的功能。窗体运行效果如图14所示。 内容来自www.paper51.com
图14图书类别设置功能窗体 paper51.com 主要代码实现如下: copyright paper51.com
………… …… …… paper51.com Dim dr As DataRow = DataSet11.Tables("图书类型").NewRow() copyright paper51.com Try 内容来自www.paper51.com
dr("类型编号")= txbCode.Text.Trim paper51.com dr("类型名称")= txbName.Text.Trim copyright paper51.com MessageBox.Show(txbDays.Text.Trim) 内容来自论文无忧网 www.paper51.com Dim iDays As Integer = CInt(txbDays.Text.Trim) 内容来自www.paper51.com dr("可借天数")= iDays.ToString paper51.com
Catch ex As Exception 内容来自论文无忧网 www.paper51.com MessageBox.Show("数据格式不正确!") 内容来自论文无忧网 www.paper51.com Exit Sub paper51.com ………… …… …… http://www.paper51.com
6.9 图书档案管理的功能模块 paper51.com 本窗体功能和读者档案管理模块的功能一样,只不过这里是对图书档案的设置信息。同样具有添加,修改,删除以及保存和取消保存的功能。窗体运行效果如图15所示。 内容来自论文无忧网 www.paper51.com 图15图书档案管理功能窗体 copyright paper51.com 主要代码实现如下: copyright paper51.com ………… …… …… http://www.paper51.com Public Overrides Sub Prepare() paper51.com Me.Text = "图书档案管理" copyright paper51.com
Me.Label1.Text = " 条形码" copyright paper51.com
Me.Label2.Text = " 编号" 内容来自www.paper51.com Me.Label3.Text = " 书名" 内容来自www.paper51.com
Dimdb As DataBase = New DataBase 内容来自论文无忧网 www.paper51.com Dimdv As DataView = _ http://www.paper51.com db.RunSelectSQL("select 类型名称 from 图书类型") paper51.com ForEach dr As DataRow In dv.Table.Rows copyright paper51.com Me.cbbType.Items.Add(dr(0).ToString.Trim) http://www.paper51.com
Next copyright paper51.com dv =db.RunSelectSQL("select 出版社名称 from 出版社") paper51.com ForEach dr As DataRow In dv.Table.Rows 内容来自www.paper51.com
Me.cbbPress.Items.Add(dr(0).ToString.Trim) 内容来自www.paper51.com Next copyright paper51.com dv =db.RunSelectSQL("select 书架名称 from 书架") 内容来自论文无忧网 www.paper51.com ForEach dr As DataRow In dv.Table.Rows 内容来自www.paper51.com Me.cbbBookcase.Items.Add(dr(0).ToString.Trim) http://www.paper51.com
Next paper51.com ………… …… …… paper51.com |