⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readersearch.vb

📁 vb.net写的图书管理系统,功能完备,能正常使用,可用于二次开发.
💻 VB
📖 第 1 页 / 共 2 页
字号:
        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 + -