📄 bookedit.vb
字号:
'
'dtpPressDate
'
Me.dtpPressDate.Location = New System.Drawing.Point(168, 168)
Me.dtpPressDate.Name = "dtpPressDate"
Me.dtpPressDate.Size = New System.Drawing.Size(211, 21)
Me.dtpPressDate.TabIndex = 26
'
'Label6
'
Me.Label6.AutoSize = True
Me.Label6.Location = New System.Drawing.Point(24, 60)
Me.Label6.Name = "Label6"
Me.Label6.Size = New System.Drawing.Size(29, 17)
Me.Label6.TabIndex = 24
Me.Label6.Text = "作者"
'
'txtAuthorName
'
Me.txtAuthorName.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.txtAuthorName.Location = New System.Drawing.Point(168, 56)
Me.txtAuthorName.Name = "txtAuthorName"
Me.txtAuthorName.Size = New System.Drawing.Size(211, 21)
Me.txtAuthorName.TabIndex = 25
Me.txtAuthorName.Text = ""
'
'btnDelete
'
Me.btnDelete.Location = New System.Drawing.Point(168, 368)
Me.btnDelete.Name = "btnDelete"
Me.btnDelete.Size = New System.Drawing.Size(80, 25)
Me.btnDelete.TabIndex = 27
Me.btnDelete.Text = "删除"
'
'BookEdit
'
Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
Me.ClientSize = New System.Drawing.Size(460, 405)
Me.Controls.Add(Me.btnDelete)
Me.Controls.Add(Me.GroupBox2)
Me.Controls.Add(Me.GroupBox1)
Me.Controls.Add(Me.btnCancel)
Me.Controls.Add(Me.btnUpdate)
Me.Name = "BookEdit"
Me.Text = "书籍信息维护"
Me.GroupBox1.ResumeLayout(False)
Me.GroupBox2.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
#End Region
'用于判断书籍类型是否改变
Dim changeFlg As Boolean
'用于判断书籍是否改变
Dim changeBookFlg As Boolean
'首先校验用户输入数据的合法性问题,然后更新到数据库
Private Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdate.Click
'如果用户输入数据不合法,则退出
If Not checkData() Then
Exit Sub
End If
'生成SQL语句
Dim strSQL As String
strSQL = "Update BookInfo set "
strSQL &= "name ='" & txtBookName.Text.Trim & "',"
strSQL &= "author ='" & txtAuthorName.Text.Trim & "',"
strSQL &= "price = '" & txtBookPrice.Text.Trim & "',"
strSQL &= "press = '" & txtPress.Text.Trim & "',"
strSQL &= "pressdate ='" & dtpPressDate.Value.Date & "'"
strSQL &= "where ISBN=" & cmbBookISBN.SelectedValue & ""
'用于记录更新操作是否成功
Dim ret As Boolean
'更新数据库中数据
ret = DBManager.executeNonQuery(strSQL)
If ret Then
'给出提示信息
InfoMSG("书籍信息更新成功!")
Else
'给出错误信息
ErrorMSG("书籍信息更新失败!")
End If
End Sub
'退出窗体
Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click
Me.Close()
End Sub
Private Sub cmbBookType_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbBookType.SelectedIndexChanged
'用于记录结果集
Dim mydt As DataSet
Dim strSQL As String
If changeFlg Then
'生成SQL语句
strSQL = "select ISBN , NAME from BookInfo where TYPE=" & cmbBookType.SelectedValue
'执行SQL语句,得到结果集
mydt = DBManager.executeSelectQuery(strSQL, "BookInfo")
'填充书籍列表
cmbBookISBN.DataSource = mydt.Tables("BookInfo")
cmbBookISBN.DisplayMember = "NAME"
cmbBookISBN.ValueMember = "ISBN"
'将书籍改变标识置为真
changeBookFlg = True
cmbBookISBN_SelectedIndexChanged(Nothing, Nothing)
End If
End Sub
Private Sub cmbBookISBN_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbBookISBN.SelectedIndexChanged
If changeBookFlg Then
Dim myBook As DataSet
Dim strSQL As String
'生成SQL语句
strSQL = " select NAME, AUTHOR , PRESS , PRICE , PRESSDATE from BookInfo"
strSQL = strSQL & " where ISBN=" & cmbBookISBN.SelectedValue
'执行SQL语句,得到结果集
myBook = DBManager.executeSelectQuery(strSQL, "BookInfo")
'如果所选书籍在数据库中不存在,则将各输入框清空
If myBook Is Nothing OrElse myBook.Tables(0).Rows.Count = 0 Then
txtBookName.Text = ""
txtAuthorName.Text = ""
txtPress.Text = ""
txtBookPrice.Text = ""
Exit Sub
End If
'填充选中书籍各信息项
With myBook.Tables("BookInfo").Rows(0)
'书籍名称
txtBookName.Text = .Item("NAME") & ""
'作者姓名
txtAuthorName.Text = .Item("AUTHOR") & ""
'出版社
txtPress.Text = .Item("PRESS") & ""
'定价
txtBookPrice.Text = .Item("PRICE") & ""
'出版日期
dtpPressDate.Value = .Item("PRESSDATE") & ""
End With
End If
End Sub
'删除书籍信息
Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click
Dim strSQL As String
Dim ret As Boolean
'生成SQL语句
strSQL = "Delete from BookInfo where ISBN=" & cmbBookISBN.SelectedValue & ""
'执行SQL语句
ret = DBManager.executeNonQuery(strSQL)
If ret Then
'如果删除成功,则提示成功信息并重新加载数据
InfoMSG("书籍信息删除成功!")
Dim myType As DataSet
changeFlg = False
changeBookFlg = False
strSQL = "select code , name from BookType"
myType = DBManager.executeSelectQuery(strSQL, "BookType")
cmbBookType.DataSource = myType.Tables("BookType")
cmbBookType.DisplayMember = "name"
cmbBookType.ValueMember = "code"
changeFlg = True
cmbBookType_SelectedIndexChanged(Nothing, Nothing)
Else
'如果删除失败,提示失败信息
ErrorMSG("书籍信息删除失败!")
End If
End Sub
Private Sub BookEdit_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim myType As DataSet
Dim strSQL As String
changeFlg = False
changeBookFlg = False
'填充书籍类别信息
strSQL = "select code , name from BookType"
myType = DBManager.executeSelectQuery(strSQL, "BookType")
cmbBookType.DataSource = myType.Tables("BookType")
cmbBookType.DisplayMember = "name"
cmbBookType.ValueMember = "code"
changeFlg = True
cmbBookType_SelectedIndexChanged(Nothing, Nothing)
End Sub
Private Function checkData() As Boolean
'判断书名是否为空
If txtBookName.Text.Trim = "" Then
ErrorMSG("书名不允许为空!")
Return False
End If
'判断作者是否为空
If txtAuthorName.Text.Trim = "" Then
ErrorMSG("作者不允许为空!")
Return False
End If
'判断书籍类别是否为空
If cmbBookType.Text.Trim = "" Then
ErrorMSG("书籍种类不允许为空!")
Return False
End If
'判断出版社是否为空
If txtPress.Text.Trim = "" Then
ErrorMSG("出版社不允许为空!")
Return False
End If
'判断定价是否为空
If txtBookPrice.Text.Trim = "" Then
ErrorMSG("定价不允许为空!")
Return False
Else
'判断定价是否为数字
If Not IsNumeric(txtBookPrice.Text.Trim) Then
ErrorMSG("定价必须为数字!")
Return False
End If
End If
Return True
End Function
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -