📄 form1.vb
字号:
'
'OleDbUpdateCommand1
'
Me.OleDbUpdateCommand1.CommandText = "UPDATE books SET Author = ?, BookName = ?, ISBN = ?, Press = ?, Price = ?, SheftN" & _
"ame = ? WHERE (编号 = ?) AND (Author = ? OR ? IS NULL AND Author IS NULL) AND (Boo" & _
"kName = ? OR ? IS NULL AND BookName IS NULL) AND (ISBN = ? OR ? IS NULL AND ISBN" & _
" IS NULL) AND (Press = ? OR ? IS NULL AND Press IS NULL) AND (Price = ? OR ? IS " & _
"NULL AND Price IS NULL) AND (SheftName = ? OR ? IS NULL AND SheftName IS NULL)"
Me.OleDbUpdateCommand1.Connection = Me.OleDbConnection1
Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Author", System.Data.OleDb.OleDbType.VarWChar, 50, "Author"))
Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("BookName", System.Data.OleDb.OleDbType.VarWChar, 50, "BookName"))
Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("ISBN", System.Data.OleDb.OleDbType.VarWChar, 50, "ISBN"))
Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Press", System.Data.OleDb.OleDbType.VarWChar, 50, "Press"))
Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Price", System.Data.OleDb.OleDbType.VarWChar, 50, "Price"))
Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("SheftName", System.Data.OleDb.OleDbType.VarWChar, 50, "SheftName"))
Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_编号", System.Data.OleDb.OleDbType.Integer, 0, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "编号", System.Data.DataRowVersion.Original, Nothing))
Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_Author", System.Data.OleDb.OleDbType.VarWChar, 50, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "Author", System.Data.DataRowVersion.Original, Nothing))
Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_Author1", System.Data.OleDb.OleDbType.VarWChar, 50, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "Author", System.Data.DataRowVersion.Original, Nothing))
Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_BookName", System.Data.OleDb.OleDbType.VarWChar, 50, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "BookName", System.Data.DataRowVersion.Original, Nothing))
Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_BookName1", System.Data.OleDb.OleDbType.VarWChar, 50, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "BookName", System.Data.DataRowVersion.Original, Nothing))
Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_ISBN", System.Data.OleDb.OleDbType.VarWChar, 50, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "ISBN", System.Data.DataRowVersion.Original, Nothing))
Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_ISBN1", System.Data.OleDb.OleDbType.VarWChar, 50, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "ISBN", System.Data.DataRowVersion.Original, Nothing))
Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_Press", System.Data.OleDb.OleDbType.VarWChar, 50, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "Press", System.Data.DataRowVersion.Original, Nothing))
Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_Press1", System.Data.OleDb.OleDbType.VarWChar, 50, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "Press", System.Data.DataRowVersion.Original, Nothing))
Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_Price", System.Data.OleDb.OleDbType.VarWChar, 50, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "Price", System.Data.DataRowVersion.Original, Nothing))
Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_Price1", System.Data.OleDb.OleDbType.VarWChar, 50, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "Price", System.Data.DataRowVersion.Original, Nothing))
Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_SheftName", System.Data.OleDb.OleDbType.VarWChar, 50, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "SheftName", System.Data.DataRowVersion.Original, Nothing))
Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_SheftName1", System.Data.OleDb.OleDbType.VarWChar, 50, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "SheftName", System.Data.DataRowVersion.Original, Nothing))
'
'DataSet11
'
Me.DataSet11.DataSetName = "DataSet1"
Me.DataSet11.Locale = New System.Globalization.CultureInfo("zh-CN")
'
'OleDbDataAdapter2
'
Me.OleDbDataAdapter2.InsertCommand = Me.OleDbInsertCommand2
Me.OleDbDataAdapter2.SelectCommand = Me.OleDbSelectCommand2
Me.OleDbDataAdapter2.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "booksheft", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("SheftName", "SheftName"), New System.Data.Common.DataColumnMapping("编号", "编号")})})
'
'OleDbInsertCommand2
'
Me.OleDbInsertCommand2.CommandText = "INSERT INTO booksheft(SheftName) VALUES (?)"
Me.OleDbInsertCommand2.Connection = Me.OleDbConnection1
Me.OleDbInsertCommand2.Parameters.Add(New System.Data.OleDb.OleDbParameter("SheftName", System.Data.OleDb.OleDbType.VarChar, 50, "SheftName"))
'
'OleDbSelectCommand2
'
Me.OleDbSelectCommand2.CommandText = "SELECT SheftName, 编号 FROM booksheft"
Me.OleDbSelectCommand2.Connection = Me.OleDbConnection1
'
'DataSet21
'
Me.DataSet21.DataSetName = "DataSet2"
Me.DataSet21.Locale = New System.Globalization.CultureInfo("zh-CN")
'
'Form1
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(368, 266)
Me.Controls.Add(Me.TreeView1)
Me.Controls.Add(Me.Button4)
Me.Controls.Add(Me.Button3)
Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.TextBox5)
Me.Controls.Add(Me.TextBox4)
Me.Controls.Add(Me.TextBox3)
Me.Controls.Add(Me.TextBox2)
Me.Controls.Add(Me.TextBox1)
Me.Controls.Add(Me.Label5)
Me.Controls.Add(Me.Label4)
Me.Controls.Add(Me.Label3)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.Label1)
Me.Name = "Form1"
Me.Text = "书架"
CType(Me.DataSet11, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.DataSet21, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
#End Region
Dim BookList, Node1, SelectedNode As TreeNode
Dim i, j, k As Integer
Dim NewSheft, All(), SheftName1 As String
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim dArray() As DataRow
DataSet21.Clear()
OleDbDataAdapter2.Fill(DataSet21, "booksheft")
k = DataSet21.booksheft.Count
BookList = TreeView1.Nodes.Add("书列表")
dArray = DataSet21.booksheft.Select()
Button2.Enabled = False
Button3.Enabled = False
Button4.Enabled = False
For i = 0 To k - 1
BookList.Nodes.Add(dArray(i)("sheftname").ToString)
Next
End Sub
Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
Dim dArray() As DataRow
SelectedNode = TreeView1.SelectedNode
DataSet11.Clear()
OleDbDataAdapter1.Fill(DataSet11, "books")
Dim str As String
Try
str = "sheftname=" & "'" & TreeView1.SelectedNode.Text & "'"
dArray = DataSet11.books.Select(str)
k = dArray.Length
If k <> 0 Then
SelectedNode.Nodes.Clear()
End If
ReDim All(0)
For i = 0 To k - 1
SelectedNode.Nodes.Add(dArray(i)("bookname").ToString)
ReDim Preserve All(i)
All(i) = dArray(i)("Bookname").ToString
Next
If SelectedNode.Text <> BookList.Text Then
Button2.Enabled = True
Button3.Enabled = False
Button4.Enabled = False
Else
Button2.Enabled = False
Button3.Enabled = False
Button4.Enabled = False
End If
SheftName1 = TreeView1.SelectedNode.Text
Node1 = SelectedNode
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
Catch ex As Exception
End Try
Try
str = "bookname=" & "'" & TreeView1.SelectedNode.Text & "'"
dArray = DataSet11.books.Select(str)
TextBox1.Text = dArray(0)("Bookname")
TextBox2.Text = dArray(0)("Author")
TextBox3.Text = dArray(0)("Press")
TextBox4.Text = dArray(0)("ISBN")
TextBox5.Text = dArray(0)("Price")
Button2.Enabled = False
Button3.Enabled = True
Button4.Enabled = True
Catch ex As Exception
End Try
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim x As Integer
NewSheft = InputBox("请输入书架名称")
If NewSheft = "" Then
Exit Sub
Else
OleDbDataAdapter2.InsertCommand.Parameters("sheftname").Value = NewSheft
OleDbConnection1.Open()
Try
x = OleDbDataAdapter2.InsertCommand.ExecuteNonQuery
BookList.Nodes.Add(NewSheft)
Catch ex As Exception
MsgBox("添加书架时出错,请重新添加")
End Try
OleDbConnection1.Close()
OleDbDataAdapter2.Fill(DataSet21, "booksheft")
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim x As Integer
For i = 0 To All.Length - 1
If TextBox1.Text = All(i) Then
MsgBox("此书已经存在!")
Exit Sub
End If
Next
OleDbDataAdapter1.InsertCommand.Parameters("sheftname").Value = SheftName1
OleDbDataAdapter1.InsertCommand.Parameters("bookname").Value = TextBox1.Text
OleDbDataAdapter1.InsertCommand.Parameters("Author").Value = TextBox2.Text
OleDbDataAdapter1.InsertCommand.Parameters("Press").Value = TextBox3.Text
OleDbDataAdapter1.InsertCommand.Parameters("ISBN").Value = TextBox4.Text
OleDbDataAdapter1.InsertCommand.Parameters("Price").Value = TextBox5.Text
OleDbConnection1.Open()
Try
x = OleDbDataAdapter1.InsertCommand.ExecuteNonQuery
Node1.Nodes.Add(TextBox1.Text)
Catch ex As Exception
MsgBox("添加书时出错,请重新添加")
End Try
OleDbConnection1.Close()
OleDbDataAdapter1.Fill(DataSet11, "books")
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim x As Integer
If MsgBox("真的要删除此书吗?", MsgBoxStyle.OKCancel) = MsgBoxResult.OK Then
OleDbDataAdapter1.DeleteCommand.Parameters("bookname".ToString).Value = TextBox1.Text
OleDbConnection1.Open()
Try
x = OleDbDataAdapter1.DeleteCommand.ExecuteNonQuery
Try
Node1.Remove()
Catch ex As Exception
End Try
Catch ex As Exception
MsgBox("删除书时出错,请重新删除")
End Try
OleDbConnection1.Close()
OleDbDataAdapter1.Fill(DataSet11, "books")
End If
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim x As Integer
OleDbDataAdapter1.UpdateCommand.Parameters("BookName").Value = TextBox1.Text
OleDbDataAdapter1.UpdateCommand.Parameters("Author").Value = TextBox2.Text
OleDbDataAdapter1.UpdateCommand.Parameters("Press").Value = TextBox3.Text
OleDbDataAdapter1.UpdateCommand.Parameters("ISBN").Value = TextBox4.Text
OleDbDataAdapter1.UpdateCommand.Parameters("Price").Value = TextBox5.Text
OleDbConnection1.Open()
Try
x = OleDbDataAdapter1.UpdateCommand.ExecuteNonQuery
MsgBox("该书的资料已经被修改!")
Catch ex As Exception
MsgBox("修改书的资料时出错,请重新修改!")
End Try
OleDbConnection1.Close()
OleDbDataAdapter1.Fill(DataSet11, "books")
End Sub
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -