📄 readersearch.vb
字号:
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(40, 16)
Me.Label2.TabIndex = 35
Me.Label2.Text = "性别"
'
'txtReaderName
'
Me.txtReaderName.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.txtReaderName.Location = New System.Drawing.Point(80, 24)
Me.txtReaderName.Name = "txtReaderName"
Me.txtReaderName.Size = New System.Drawing.Size(104, 21)
Me.txtReaderName.TabIndex = 34
Me.txtReaderName.Text = ""
'
'Label3
'
Me.Label3.Location = New System.Drawing.Point(16, 32)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(56, 16)
Me.Label3.TabIndex = 33
Me.Label3.Text = "姓名"
'
'txtMinNum
'
Me.txtMinNum.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.txtMinNum.Location = New System.Drawing.Point(112, 56)
Me.txtMinNum.Name = "txtMinNum"
Me.txtMinNum.Size = New System.Drawing.Size(72, 21)
Me.txtMinNum.TabIndex = 29
Me.txtMinNum.Text = ""
'
'Label1
'
Me.Label1.Location = New System.Drawing.Point(16, 64)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(96, 16)
Me.Label1.TabIndex = 27
Me.Label1.Text = "最多可借阅本数"
'
'btnSearch
'
Me.btnSearch.Location = New System.Drawing.Point(320, 80)
Me.btnSearch.Name = "btnSearch"
Me.btnSearch.Size = New System.Drawing.Size(72, 29)
Me.btnSearch.TabIndex = 26
Me.btnSearch.Text = "查询"
'
'btnViewHistory
'
Me.btnViewHistory.Location = New System.Drawing.Point(240, 400)
Me.btnViewHistory.Name = "btnViewHistory"
Me.btnViewHistory.Size = New System.Drawing.Size(96, 28)
Me.btnViewHistory.TabIndex = 31
Me.btnViewHistory.Text = "查看借阅记录"
'
'ReaderSearch
'
Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
Me.ClientSize = New System.Drawing.Size(432, 437)
Me.Controls.Add(Me.btnViewHistory)
Me.Controls.Add(Me.lsvResult)
Me.Controls.Add(Me.GroupBox1)
Me.Controls.Add(Me.btnCancel)
Me.Controls.Add(Me.btnEdit)
Me.Name = "ReaderSearch"
Me.Text = "读者信息查询"
Me.GroupBox1.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
#End Region
'记录当前人员ID
Dim curID As Long
Private Sub btnSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSearch.Click
Dim strSQL As String
Dim mydet As DataSet
'检查数据的合法性
If Not checkData Then
Exit Sub
End If
'首先清空上次查询结果
lsvResult.Items.Clear()
'得到查询语句
strSQL = getSql()
'执行SQL语句,得到结果集
mydet = DBManager.executeSelectQuery(strSQL, "BookBorrow")
'若没有符合条件的记录,给出提示信息,并退出
If mydet Is Nothing OrElse mydet.Tables(0).Rows.Count = 0 Then
InfoMSG("没有符合条件的记录!")
Exit Sub
End If
Dim item As ListViewItem
Dim subItem1 As ListViewItem.ListViewSubItem
Dim subItem2 As ListViewItem.ListViewSubItem
Dim subItem3 As ListViewItem.ListViewSubItem
Dim subItem4 As ListViewItem.ListViewSubItem
Dim i As Integer
Dim str As String
'显示结果列表
For i = 0 To mydet.Tables(0).Rows.Count - 1
With mydet.Tables(0).Rows(i)
str = .Item("ID")
'ID
item = New ListViewItem(str)
'姓名
subItem1 = New ListViewItem.ListViewSubItem(item, .Item("Name") & "")
'性别
subItem2 = New ListViewItem.ListViewSubItem(item, .Item("Gender") & "")
'可借阅册数
subItem3 = New ListViewItem.ListViewSubItem(item, .Item("MaxNumber") & "")
'可借阅天数
subItem4 = New ListViewItem.ListViewSubItem(item, .Item("MaxTime") & "")
item.SubItems.Add(subItem1)
item.SubItems.Add(subItem2)
item.SubItems.Add(subItem3)
item.SubItems.Add(subItem4)
lsvResult.Items.Add(item)
End With
Next
End Sub
Private Sub BorrowSearch_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'初始化时结果为空,设置编辑和查看借阅记录按钮为不可用
btnEdit.Enabled = False
btnViewHistory.Enabled = False
End Sub
Private Function getSql() As String
Dim querySql As String
Dim logic As String
'逻辑操作
If chkOr.Checked Then
logic = " or "
Else
logic = " and "
End If
'基本查询语句
querySql = "select ID,Name,Gender,MaxNumber,MaxTime from ReaderInfo where "
'姓名条件
If txtReaderName.Text.Trim <> "" Then
'根据是否模糊查询得到不同的SQL语句
If chkFuzzy.Checked Then
querySql = querySql + "Name like '%" + txtReaderName.Text.Trim + "%'" + logic
Else
querySql = querySql + "Name= '" + txtReaderName.Text.Trim + "'" + logic
End If
End If
'性别条件
If cmbGender.Text.Trim <> "" Then
querySql = querySql + "Gender='" + cmbGender.Text.Trim + "'" + logic
End If
'最大可借阅册数条件
'既有最大值又有最小值
If txtMinNum.Text.Trim <> "" And txtMaxNum.Text.Trim <> "" Then
querySql = querySql + "(MaxNumber>=" + txtMinNum.Text.Trim + " and MaxNumber<=" + txtMaxNum.Text.Trim + ") " + logic
'只有最小值
ElseIf txtMinNum.Text.Trim <> "" Then
querySql = querySql + "MaxNumber>=" + txtMinNum.Text.Trim + logic
'只有最大值
ElseIf txtMaxNum.Text.Trim <> "" Then
querySql = querySql + "MaxNumber<=" + txtMaxNum.Text.Trim + logic
End If
'最大可借阅天数条件
'既有最大值又有最小值
If txtMinTime.Text.Trim <> "" And txtMaxTime.Text.Trim <> "" Then
querySql = querySql + "(MaxTime>=" + txtMinTime.Text.Trim + " and MaxTime<=" + txtMaxTime.Text.Trim + ") " + logic
'只有最小值
ElseIf txtMinTime.Text.Trim <> "" Then
querySql = querySql + "MaxTime>=" + txtMinTime.Text.Trim + logic
'只有最大值
ElseIf txtMaxTime.Text.Trim <> "" Then
querySql = querySql + "MaxTime<=" + txtMaxTime.Text.Trim + logic
End If
'去掉SQL语句末端的逻辑操作符
querySql = querySql.Substring(0, querySql.Length - logic.Length)
'排序
querySql = querySql + " order by ID"
Return querySql
End Function
Private Function checkData() As Boolean
'输入值是否为空
If txtReaderName.Text.Trim = "" And cmbGender.Text.Trim = "" And txtMinNum.Text.Trim = "" And txtMaxNum.Text.Trim = "" And txtMinTime.Text.Trim = "" And txtMaxTime.Text.Trim = "" Then
InfoMSG("请输入查询条件!")
Exit Function
End If
'按可借阅册数查询时,最低值是否为数字
If txtMinNum.Text.Trim <> "" And Not IsNumeric(txtMinNum.Text.Trim) Then
ErrorMSG("可借阅册数必须为数字!")
Return False
End If
'按可借阅册数查询时,最高值是否为数字
If txtMaxNum.Text.Trim <> "" And Not IsNumeric(txtMaxNum.Text.Trim) Then
ErrorMSG("可借阅册数必须为数字!")
Return False
End If
'按可借阅天数查询时,最低值是否为数字
If txtMinTime.Text.Trim <> "" And Not IsNumeric(txtMinTime.Text.Trim) Then
ErrorMSG("可借阅本数必须为数字!")
Return False
End If
'按可借阅天数查询时,最高值是否为数字
If txtMaxTime.Text.Trim <> "" And Not IsNumeric(txtMaxTime.Text.Trim) Then
ErrorMSG("可借阅本数必须为数字!")
Return False
End If
Return True
End Function
Private Sub lsvResult_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles lsvResult.SelectedIndexChanged
'设置功能按钮可用
btnEdit.Enabled = True
btnViewHistory.Enabled = True
'取得人员ID
curID = lsvResult.SelectedItems.Item(0).Text()
End Sub
Private Sub btnViewHistory_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnViewHistory.Click
'传入人员ID,生成查看历史记录类的一个新实例
Dim history As New ViewHistory(curID)
'设置history的父窗体
history.MdiParent = Me.MdiParent
'显示窗体
history.Show()
End Sub
Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click
'传入人员ID,生成读者信息编辑类的一个新实例
Dim editor As New ReaderEdit(curID)
''设置editor的父窗体
editor.MdiParent = Me.MdiParent
'显示窗体
editor.Show()
End Sub
Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click
Me.Close()
End Sub
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -