📄 form5.vb
字号:
'
Me.Button2.BackColor = System.Drawing.Color.LightSteelBlue
Me.Button2.Location = New System.Drawing.Point(120, 282)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(62, 30)
Me.Button2.TabIndex = 3
Me.Button2.Text = "修改"
'
'Button3
'
Me.Button3.BackColor = System.Drawing.Color.LightSteelBlue
Me.Button3.Location = New System.Drawing.Point(213, 282)
Me.Button3.Name = "Button3"
Me.Button3.Size = New System.Drawing.Size(63, 30)
Me.Button3.TabIndex = 4
Me.Button3.Text = "删除"
'
'Button4
'
Me.Button4.BackColor = System.Drawing.Color.LightSteelBlue
Me.Button4.Location = New System.Drawing.Point(313, 282)
Me.Button4.Name = "Button4"
Me.Button4.Size = New System.Drawing.Size(63, 30)
Me.Button4.TabIndex = 5
Me.Button4.Text = "退出"
'
'Form5
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.BackColor = System.Drawing.Color.LightSteelBlue
Me.ClientSize = New System.Drawing.Size(424, 317)
Me.Controls.Add(Me.Button4)
Me.Controls.Add(Me.Button3)
Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.GroupBox1)
Me.Controls.Add(Me.TreeView1)
Me.MaximizeBox = False
Me.Name = "Form5"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "酒菜信息设置"
Me.GroupBox1.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
#End Region
Dim cn As New SqlConnection("data source=(Local);initial catalog=酒店管理系统;uid=sa;pwd=;")
Dim cm As New SqlCommand("select * from 酒菜信息", cn)
Dim da As New SqlDataAdapter(cm)
Dim ds As New DataSet
Private Sub fill()
cn.Open()
ds.Clear()
da.SelectCommand.CommandText = "select * from 酒菜信息"
da.Fill(ds, "酒菜信息")
cn.Close()
Dim i, j As Integer
Dim filter As New DataView
TreeView1.Nodes.Clear()
filter.Table = ds.Tables("酒菜信息")
For i = 0 To ComboBox1.Items.Count - 1
TreeView1.Nodes.Add(ComboBox1.Items(i).ToString)
filter.RowFilter = "类别='" & TreeView1.Nodes(i).Text & "'"
For j = 0 To filter.Count - 1
TreeView1.Nodes(i).Nodes.Add(filter.Item(j).Item(0).ToString)
Next
Next
'下面是实现动态填充数据包括类别和菜名
''循环查找类别里面没有重复的类别个数然后传入数列
'Dim count As Integer = 1
'Dim z As Integer
'Dim str As String
'Dim values As New ArrayList
'values.Add(ds.Tables("酒菜信息").DefaultView.Item(0).Item(1).ToString())
'ds.Tables("酒菜信息").DefaultView.Sort = "类别 asc"
'str = ds.Tables("酒菜信息").DefaultView.Item(0).Item(1).ToString()
'For z = 0 To ds.Tables("酒菜信息").DefaultView.Count - 1
' If str <> ds.Tables("酒菜信息").DefaultView.Item(z).Item(1).ToString() Then
' count += 1
' values.Add(ds.Tables("酒菜信息").DefaultView.Item(z).Item(1).ToString())
' End If
' str = ds.Tables("酒菜信息").DefaultView.Item(z).Item(1).ToString()
'Next
''在数列中检索数据对应类别下再填充数据
'Dim temp As New DataView
'Dim j As Integer
'temp.Table = ds.Tables("酒菜信息")
'For i = 0 To count - 1
' TreeView1.Nodes.Add(values.Item(i).ToString)
' temp.RowFilter = "类别='" & values.Item(i).ToString & "'"
' For j = 0 To temp.Count - 1
' TreeView1.Nodes(i).Nodes.Add(temp.Item(j).Item(0).ToString)
' Next
'Next
TreeView1.ExpandAll()
End Sub
Private Sub Form5_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
fill()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Select Case ""
Case TextBox1.Text
MessageBox.Show("请输入您新添加的酒菜名字!", "警告:", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1)
Case ComboBox1.Text
MessageBox.Show("请选择其所属类别!", "警告:", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1)
Case TextBox3.Text
MessageBox.Show("请输入价格!", "警告:", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1)
Case Else
If IsNothing(TreeView1.SelectedNode.Parent) Then
Dim newrow As DataRow = ds.Tables("酒菜信息").NewRow
newrow(0) = Trim(TextBox1.Text)
newrow(1) = Trim(ComboBox1.Text)
newrow(2) = CType(TextBox3.Text.Trim, Integer)
newrow(3) = Trim(TextBox4.Text)
cn.Open()
cm.CommandText = "insert into 酒菜信息(酒菜名,类别,价格,特色介绍) values ('" & newrow(0).ToString & "','" & newrow(1).ToString & "'," & newrow(2) & ",'" & newrow(3).ToString & "')"
cm.ExecuteNonQuery()
cn.Close()
fill()
MsgBox("记录插入成功", MsgBoxStyle.Information, "操作成功")
End If
End Select
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Try
cn.Open()
cm.CommandText = "update 酒菜信息 set 酒菜名='" & Trim(TextBox1.Text) & "' , 类别='" & ComboBox1.Text & "' , 价格='" & Trim(TextBox3.Text) & "' , 特色介绍='" & Trim(TextBox4.Text) & "' where 酒菜名='" & TreeView1.SelectedNode.Text & "'"
cm.ExecuteNonQuery()
cn.Close()
fill()
MsgBox("修改成功!")
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
cn.Open()
cm.CommandText = "delete from 酒菜信息 where 酒菜名='" & TreeView1.SelectedNode.Text & "'"
cm.ExecuteNonQuery()
cn.Close()
fill()
MsgBox("执行删除成功!")
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Me.main.Show()
Me.main.WindowState = FormWindowState.Normal
Me.Close()
End Sub
Private Sub TreeView1_AfterSelect(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
Try
'此处判断选择的是子节点
If TreeView1.SelectedNode.GetNodeCount(False) = 0 And Not IsNothing(TreeView1.SelectedNode.Parent) Then
TextBox1.Text = Trim(TreeView1.SelectedNode.Text.ToString)
Dim datarow() As DataRow
datarow = ds.Tables("酒菜信息").Select("酒菜名='" & TextBox1.Text & "'")
TextBox3.Text = datarow(0).Item("价格").ToString
TextBox4.Text = datarow(0).Item("特色介绍").ToString
ComboBox1.Text = Trim(TreeView1.SelectedNode.Parent.Text)
Else
ComboBox1.Text = TreeView1.SelectedNode.Text
TextBox1.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -