📄 reader_select.vb
字号:
'
Me.Label2.Location = New System.Drawing.Point(272, 24)
Me.Label2.Name = "Label2"
Me.Label2.TabIndex = 2
Me.Label2.Text = "姓 名"
'
'TextBox1
'
Me.TextBox1.Location = New System.Drawing.Point(128, 24)
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(128, 21)
Me.TextBox1.TabIndex = 1
Me.TextBox1.Text = ""
'
'Label1
'
Me.Label1.Location = New System.Drawing.Point(16, 24)
Me.Label1.Name = "Label1"
Me.Label1.TabIndex = 0
Me.Label1.Text = "学 号"
'
'ListView1
'
Me.ListView1.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader1, Me.ColumnHeader2, Me.ColumnHeader3, Me.ColumnHeader4, Me.ColumnHeader5, Me.ColumnHeader6})
Me.ListView1.Location = New System.Drawing.Point(16, 168)
Me.ListView1.Name = "ListView1"
Me.ListView1.Size = New System.Drawing.Size(656, 168)
Me.ListView1.TabIndex = 1
Me.ListView1.View = System.Windows.Forms.View.Details
'
'ColumnHeader1
'
Me.ColumnHeader1.Text = "学号"
Me.ColumnHeader1.Width = 159
'
'ColumnHeader2
'
Me.ColumnHeader2.Text = "姓名"
Me.ColumnHeader2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
Me.ColumnHeader2.Width = 104
'
'ColumnHeader3
'
Me.ColumnHeader3.Text = "性别"
Me.ColumnHeader3.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
Me.ColumnHeader3.Width = 84
'
'ColumnHeader4
'
Me.ColumnHeader4.Text = "最大借阅册数"
Me.ColumnHeader4.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
Me.ColumnHeader4.Width = 111
'
'ColumnHeader5
'
Me.ColumnHeader5.Text = "最大借阅天数"
Me.ColumnHeader5.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
Me.ColumnHeader5.Width = 104
'
'ColumnHeader6
'
Me.ColumnHeader6.Text = "可借书籍数目"
Me.ColumnHeader6.Width = 379
'
'Button2
'
Me.Button2.Location = New System.Drawing.Point(592, 352)
Me.Button2.Name = "Button2"
Me.Button2.TabIndex = 2
Me.Button2.Text = "退出"
'
'Button3
'
Me.Button3.Location = New System.Drawing.Point(272, 352)
Me.Button3.Name = "Button3"
Me.Button3.Size = New System.Drawing.Size(104, 23)
Me.Button3.TabIndex = 3
Me.Button3.Text = "清空列表框"
'
'Reader_Select
'
Me.AcceptButton = Me.Button1
Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
Me.BackColor = System.Drawing.SystemColors.ActiveBorder
Me.ClientSize = New System.Drawing.Size(728, 397)
Me.Controls.Add(Me.Button3)
Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.ListView1)
Me.Controls.Add(Me.GroupBox1)
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
Me.MinimizeBox = False
Me.Name = "Reader_Select"
Me.Text = "读者信息查询"
Me.GroupBox1.ResumeLayout(False)
Me.Panel1.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
#End Region
Dim sqlstr As String
Private Function CheckData() As Boolean
If TextBox1.Text = "" And TextBox2.Text = "" Then
If TextBox3.Text = "" And TextBox4.Text = "" Then
If TextBox5.Text = "" And TextBox6.Text = "" Then
If TextBox7.Text = "" And TextBox8.Text = "" Then
MessageBox.Show("输入选项不能全部为空!", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Warning)
TextBox1.Focus()
Return False
Exit Function
ElseIf TextBox7.Text = "" And TextBox8.Text <> "" Then
MessageBox.Show("可借书籍数目输入项不合法!", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Warning)
TextBox7.Focus()
Return False
Exit Function
ElseIf TextBox7.Text <> "" And TextBox8.Text = "" Then
MessageBox.Show("可借书籍数目输入项不合法!", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Warning)
TextBox7.Focus()
Return False
Exit Function
End If
ElseIf TextBox5.Text <> "" And TextBox6.Text = "" Then
MessageBox.Show("最大借阅天数输入项不合法!", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Warning)
TextBox5.Focus()
Return False
Exit Function
ElseIf TextBox5.Text = "" And TextBox6.Text <> "" Then
MessageBox.Show("最大借阅天数输入项不合法!", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Warning)
TextBox5.Focus()
Return False
Exit Function
End If
ElseIf TextBox3.Text <> "" And TextBox4.Text = "" Then
MessageBox.Show("最大借阅册数输入项不合法!", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Warning)
TextBox3.Focus()
Return False
Exit Function
ElseIf TextBox3.Text = "" And TextBox4.Text <> "" Then
MessageBox.Show("最大借阅册数输入项不合法!", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Warning)
TextBox3.Focus()
Return False
Exit Function
End If
End If
If TextBox1.Text <> "" Then
If IsNumeric(TextBox1.Text) = False Then
MessageBox.Show("学号输入选项必须为整数!", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Warning)
TextBox1.Focus()
Return False
Exit Function
End If
End If
If TextBox3.Text <> "" And TextBox4.Text <> "" Then
If IsNumeric(TextBox3.Text) = False Or IsNumeric(TextBox4.Text) = False Then
MessageBox.Show("最大借阅册数输入项必须为整数!", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Warning)
TextBox3.Focus()
Return False
Exit Function
End If
End If
If TextBox5.Text <> "" And TextBox6.Text <> "" Then
If IsNumeric(TextBox5.Text) = False Or IsNumeric(TextBox6.Text) = False Then
MessageBox.Show("最大借阅天数输入项必须为整数!", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Warning)
TextBox5.Focus()
Return False
Exit Function
End If
End If
If TextBox7.Text <> "" And TextBox8.Text <> "" Then
If IsNumeric(TextBox7.Text) = False Or IsNumeric(TextBox8.Text) = False Then
MessageBox.Show("可借书籍数目输入项必须为整数!", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Warning)
TextBox7.Focus()
Return False
Exit Function
End If
End If
Return True
End Function
Private Sub Reader_Select_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub FillDataToListView1()
ListView1.Items.Clear() '先清空里面的数据在说,呵呵
If mycon.State = ConnectionState.Closed Then
mycon.Open()
End If
Dim myda As New SqlDataAdapter(sqlstr, mycon)
Dim myset1 As New DataSet
myset1.Clear()
myda.Fill(myset1, "Students")
Dim i As Integer
Dim item As ListViewItem
Dim SubItem2 As ListViewItem.ListViewSubItem
Dim SubItem3 As ListViewItem.ListViewSubItem
Dim SubItem4 As ListViewItem.ListViewSubItem
Dim SubItem5 As ListViewItem.ListViewSubItem
Dim SubItem6 As ListViewItem.ListViewSubItem
Try
For i = 0 To myset1.Tables("Students").Rows.Count - 1
With myset1.Tables("Students").Rows(i)
item = New ListViewItem
SubItem2 = New ListViewItem.ListViewSubItem
SubItem3 = New ListViewItem.ListViewSubItem
SubItem4 = New ListViewItem.ListViewSubItem
SubItem5 = New ListViewItem.ListViewSubItem
SubItem6 = New ListViewItem.ListViewSubItem
item.Text = .Item("Sno") & ""
SubItem2.Text = .Item("SName") & ""
SubItem3.Text = .Item("Sex") & ""
SubItem4.Text = .Item("MaxNumber") & ""
SubItem5.Text = .Item("MaxDays") & ""
SubItem6.Text = .Item("RemainNumber") & ""
item.SubItems.Add(SubItem2)
item.SubItems.Add(SubItem3)
item.SubItems.Add(SubItem4)
item.SubItems.Add(SubItem5)
item.SubItems.Add(SubItem6)
ListView1.Items.Add(item)
End With
Next
If myset1.Tables("Students").Rows.Count = 0 Then
MessageBox.Show("没有满足条件的记录!", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Warning)
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'先检验数据是否合法(, 呵呵)
If CheckData() = False Then
Exit Sub
End If
'确定SQl字符串
Dim logic As String
sqlstr = "Select Sno,SName,Sex,MaxNumber,MaxDays,RemainNumber From Students Where"
If CheckBox2.Checked = True Then
logic = "or"
Else
logic = "and"
End If
If TextBox1.Text <> "" Then
If CheckBox1.Checked = True Then
sqlstr = sqlstr + " " + "Sno Like '%" & TextBox1.Text & "%'" + logic
Else
sqlstr = sqlstr + " " + "Sno='" & TextBox1.Text & "'" + logic
End If
End If
If TextBox2.Text <> "" Then
If CheckBox1.Checked = True Then
sqlstr = sqlstr + " " + "SName Like '%" + TextBox2.Text + "%'" + logic
Else
sqlstr = sqlstr + " " + "SName='" & TextBox2.Text & "'" + logic
End If
End If
Dim Sex As String
If RadioButton1.Checked = True Then
Sex = "男"
sqlstr = sqlstr + " " + "Sex Like '%" + Sex + "%'" + logic
Else
Sex = "女"
sqlstr = sqlstr + " " + "Sex='" & Sex & "'" + logic
End If
If TextBox3.Text <> "" And TextBox4.Text <> "" Then
sqlstr = sqlstr + " " + "MaxNumber Between '" & TextBox3.Text & "' and '" & TextBox4.Text & "'" + logic
End If
If TextBox5.Text <> "" And TextBox6.Text <> "" Then
sqlstr = sqlstr + " " + "MaxDays Between '" & TextBox5.Text & "' and '" & TextBox6.Text & "'" + logic
End If
If TextBox7.Text <> "" And TextBox8.Text <> "" Then
sqlstr = sqlstr + " " + "RemainNumber Between '" & TextBox7.Text & "' and '" & TextBox8.Text & "'" + logic
End If
sqlstr = sqlstr.Substring(0, sqlstr.Length - logic.Length) '去掉最后的逻辑逻辑运算符,得到最终的字符串
Call FillDataToListView1()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
'关闭按钮的代码
Me.Close()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
'清空列表框的代码
ListView1.Items.Clear()
End Sub
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -