📄 frmreaderdoc.vb
字号:
#End Region Public Overrides Sub Prepare()
Me.Text = "读者档案管理"
Me.Label1.Text = " 条形码"
Me.Label2.Text = " 编号"
Me.Label3.Text = " 姓名"
Dim db As DataBase = New DataBase
Dim dv As DataView = _
db.RunSelectSQL("select 类型 from 读者类型")
For Each dr As DataRow In dv.Table.Rows
Me.cbbType.Items.Add(dr(0).ToString.Trim)
Next
db.Dispose()
End Sub Public Overrides Sub LoadData()
Dim strFilter As String
If txbOne.Text.Trim.Length = 0 Then
If txbTwo.Text.Trim.Length = 0 Then
If txbThree.Text.Trim.Length = 0 Then
strFilter = ""
Else
strFilter = "where 姓名 like '"
strFilter += txbThree.Text.Trim + "%'"
End If
Else
strFilter = "where 编号 like '"
strFilter += txbTwo.Text.Trim + "%'"
If txbThree.Text.Trim.Length <> 0 Then
strFilter += " and 姓名 like '"
strFilter += txbThree.Text.Trim + "%'"
End If
End If
Else
strFilter = "where 条形码 like '"
strFilter += txbOne.Text.Trim + "%'"
If txbTwo.Text.Trim.Length <> 0 Then
strFilter += " and 编号 like '"
strFilter += txbTwo.Text.Trim + "%'"
If txbThree.Text.Trim.Length <> 0 Then
strFilter += " and 姓名 like '"
strFilter += txbThree.Text.Trim + "%'"
End If
Else
If txbThree.Text.Trim.Length <> 0 Then
strFilter += " and 姓名 like '"
strFilter += txbThree.Text.Trim + "%'"
End If
End If
End If
'清空DataSet11
DataSet11.Clear()
SqlConnection1.ConnectionString = DataBase.sConn
Dim strSQL As String
SqlDataAdapter1.SelectCommand.CommandText _
= "select * from 读者信息 " + strFilter
'根据查询条件重新填充DataSet11
SqlDataAdapter1.Fill(DataSet11)
dtData = DataSet11.Tables("读者信息")
bmData = Me.BindingContext(DataSet11, "读者信息")
If bmData.Count <> 0 Then
bmData.Position = 0
End If
End Sub
Public Overrides Sub SetDataGrid()
LoadData()
'定义一个DataGrid表样式
Dim ts As New DataGridTableStyle
Dim aColumnTextColumn As DataGridTextBoxColumn
Dim numCols As Integer = dtData.Columns.Count
Dim i As Integer
For i = 0 To 13
aColumnTextColumn = New DataGridTextBoxColumn
aColumnTextColumn.MappingName = _
dtData.Columns(i).ColumnName
aColumnTextColumn.HeaderText = _
dtData.Columns(i).ColumnName
aColumnTextColumn.NullText = ""
aColumnTextColumn.ReadOnly = True
aColumnTextColumn.Width = 60
ts.GridColumnStyles.Add(aColumnTextColumn)
Next
ts.AlternatingBackColor = Color.LightGray
ts.AllowSorting = False
ts.MappingName = dtData.TableName
dgdList.TableStyles.Clear()
dgdList.TableStyles.Add(ts)
Dim dv As DataView = dtData.DefaultView
dv.AllowNew = False
dv.AllowDelete = False
'dv.AllowEdit = False
'设置数据源
dgdList.DataSource = dtData.DefaultView
bmData = Me.BindingContext(DataSet11, "读者信息")
lblCount.Text = "记录数:" + dtData.Rows.Count.ToString()
End Sub
Public Overrides Sub SetTextBoxState(ByVal bState As Boolean)
Me.GroupBox1.Enabled = Not bState
End Sub Public Overrides Sub Clear()
'清空控件已有信息
Me.txbCode.Text = ""
Me.txbContact.Text = ""
Me.txbName.Text = ""
Me.txbNumber.Text = ""
Me.txbPaperID.Text = ""
Me.txbRemark.Text = ""
Me.txbTimes.Text = ""
Me.txbWorker.Text = ""
Me.cbbPaper.Text = ""
Me.cbbSex.Text = ""
Me.cbbType.Text = ""
'把时间设置成当前时间
Me.tmBirth.Value = Date.Now
Me.tmEnd.Value = Date.Now
Me.tmRegister.Value = Date.Now
End Sub
Public Overrides Sub SaveForAdd()
Dim dr As DataRow = DataSet11.Tables("读者信息").NewRow()
Try
dr("条形码") = txbCode.Text.Trim
dr("编号") = txbContact.Text.Trim
dr("姓名") = txbName.Text.Trim
dr("性别") = cbbSex.Text.Trim
dr("类型") = cbbType.Text.ToString
dr("联系方式") = txbContact.Text.Trim
dr("有效证件") = cbbPaper.Text.Trim
dr("证件号码") = txbPaperID.Text.Trim
dr("出生日期") = tmBirth.Text.Trim
dr("登记日期") = tmRegister.Text.Trim
dr("有限期至") = tmEnd.Text.Trim
dr("图书借阅次数") = txbTimes.Text.Trim
dr("操作员") = txbWorker.Text.Trim
dr("备注") = txbRemark.Text.Trim
dr("是否挂失") = cbbGuaShi.Checked.ToString
Catch ex As Exception
MessageBox.Show("数据格式不正确!")
Exit Sub
End Try
Try
DataSet11.Tables("读者信息").Rows.Add(dr)
If Me.DataSet11.HasChanges = True Then
SqlDataAdapter1.Update(DataSet11)
End If
Catch ex As Exception
MessageBox.Show(ex.ToString) '"数据添加失败!")
End Try
LoadData()
dgdList.DataSource = dtData.DefaultView
End Sub
Public Overrides Sub DeleteData()
Try
'删除当前行的数据
DataSet11.Tables("读者信息"). _
Rows(bmData.Position).Delete()
If Me.DataSet11.HasChanges = True Then
'更新DataSet11
SqlDataAdapter1.Update(DataSet11)
End If
Catch ex As Exception
MessageBox.Show("数据删除失败!")
End Try
End Sub
Public Overrides Sub SaveForUpdate()
Try
Dim row As Integer
row = dgdList.CurrentCell.RowNumber
dgdList.CurrentCell = _
New DataGridCell((row + 1) Mod bmData.Count, 0)
'判断是否有更新的数据
If Me.DataSet11.HasChanges = True Then
SqlDataAdapter1.Update(DataSet11)
End If
Catch ex As Exception
MessageBox.Show("数据修改失败!")
End Try
End SubEnd Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -