📄 employee.vb
字号:
Me.Label1.Location = New System.Drawing.Point(8, 24)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(72, 21)
Me.Label1.TabIndex = 0
Me.Label1.Text = "员工编码*"
Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'GroupBox2
'
Me.GroupBox2.Controls.AddRange(New System.Windows.Forms.Control() {Me.TreeView1})
Me.GroupBox2.Location = New System.Drawing.Point(8, 16)
Me.GroupBox2.Name = "GroupBox2"
Me.GroupBox2.Size = New System.Drawing.Size(160, 304)
Me.GroupBox2.TabIndex = 0
Me.GroupBox2.TabStop = False
Me.GroupBox2.Text = "部门与人员信息"
'
'TreeView1
'
Me.TreeView1.ImageIndex = -1
Me.TreeView1.Location = New System.Drawing.Point(8, 24)
Me.TreeView1.Name = "TreeView1"
Me.TreeView1.SelectedImageIndex = -1
Me.TreeView1.Size = New System.Drawing.Size(144, 272)
Me.TreeView1.TabIndex = 0
'
'Button1
'
Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button1.ForeColor = System.Drawing.Color.Navy
Me.Button1.Location = New System.Drawing.Point(352, 344)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(56, 32)
Me.Button1.TabIndex = 0
Me.Button1.Text = "聘用"
'
'Button2
'
Me.Button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button2.ForeColor = System.Drawing.Color.Navy
Me.Button2.Location = New System.Drawing.Point(416, 344)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(56, 32)
Me.Button2.TabIndex = 1
Me.Button2.Text = "解聘"
'
'Button3
'
Me.Button3.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button3.ForeColor = System.Drawing.Color.Navy
Me.Button3.Location = New System.Drawing.Point(480, 344)
Me.Button3.Name = "Button3"
Me.Button3.Size = New System.Drawing.Size(56, 32)
Me.Button3.TabIndex = 2
Me.Button3.Text = "确定"
'
'Employee
'
Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
Me.ClientSize = New System.Drawing.Size(544, 381)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.Button3, Me.Button2, Me.Button1, Me.GroupBox1})
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.MaximizeBox = False
Me.Name = "Employee"
Me.Text = "员工管理"
Me.GroupBox1.ResumeLayout(False)
Me.GroupBox3.ResumeLayout(False)
Me.GroupBox2.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Me.Close()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Dim sqlstr As String
Dim curclerk As Clerk
curclerk = GetDataFromForm()
sqlstr = "INSERT INTO Clerk (ClerkID,Name,Sex,Marry,Tel,Address," & _
"Dept,Duty,Salary,HireDate) VALUES('" & curclerk.ID & "'," & _
"'" & curclerk.Name & "','" & curclerk.Sex & "'," & _
"'" & curclerk.Marry & "','" & curclerk.Tel & "'," & _
"'" & curclerk.Address & "','" & curclerk.Dept & "'," & _
"'" & curclerk.Duty & "','" & curclerk.Salary & "'," & _
"'" & curclerk.HireDate & "')"
If UpdateData(sqlstr) = True Then
If AddNode(curclerk) = True Then
MsgBox("已经成功更新了该用户资料", MsgBoxStyle.OKOnly + _
MsgBoxStyle.Exclamation, "添加员工成功")
Else
MsgBox("节点添加失败,数据不能更新。", MsgBoxStyle.OKOnly + _
MsgBoxStyle.Exclamation, "数据更新失败")
sqlstr = "DELETE FROM Clerk WHERE ClerkID='" & curclerk.ID & "'"
UpdateData(sqlstr)
Exit Sub
End If
Else
If AddNode(curclerk) = True Then
RemoveNode(curclerk.ID)
MsgBox("数据保存失败,数据无法更新。", MsgBoxStyle.OKOnly + _
MsgBoxStyle.Exclamation, "数据保存失败")
Exit Sub
End If
End If
LoadData()
End Sub
Public Function AddNode(ByVal curclerk As Clerk) As Boolean
Dim dept As String
Dim name As String
Dim id As String
Dim sqlstr As String
Dim mynode As TreeNode
id = curclerk.ID
name = curclerk.Name
dept = curclerk.Dept
If id = "" Then
MsgBox("员工信息中""员工编码""不能为空。", MsgBoxStyle.OKOnly + _
MsgBoxStyle.Exclamation, "添加失败")
Return False
Exit Function
End If
If dept = "员工信息中""部门""不能为空。" Then
MsgBox("", MsgBoxStyle.OKOnly + MsgBoxStyle.Exclamation, "添加失败")
Return False
Exit Function
End If
If name = "员工信息中""姓名""不能为空。" Then
MsgBox("", MsgBoxStyle.OKOnly + MsgBoxStyle.Exclamation, "添加失败")
Return False
Exit Function
End If
'获取数据
mynode = New TreeNode()
For Each mynode In Me.TreeView1.Nodes
Dim mnode As TreeNode
For Each mnode In mynode.Nodes
If mnode.Tag = id Then
MsgBox("该员工编码已经存在,请重新输入员工编码。", _
MsgBoxStyle.OKOnly + MsgBoxStyle.Exclamation, "添加失败")
Return False
Exit Function
End If
Next
If mynode.Text = dept Then
mynode.Nodes.Add(name)
mynode.LastNode.Tag = id
Return True
Exit Function
End If
Next
mynode = New TreeNode(dept)
mynode.Nodes.Add(name)
mynode.Nodes(0).Tag = id
Me.TreeView1.Nodes.Add(mynode)
Return True
curclerk = Nothing
End Function
Public Function RemoveNode(ByVal id As String)
Dim mynode As TreeNode
For Each mynode In Me.TreeView1.Nodes
Dim snode As TreeNode
For Each snode In mynode.Nodes
If snode.Tag = id Then
Me.TreeView1.Nodes.Remove(snode)
End If
Next
Next
End Function
Public Function GetDataFromForm() As Clerk
Dim myclerk As New Clerk()
myclerk.ID = Trim(Me.TextBox1.Text)
myclerk.Name = Trim(Me.TextBox2.Text)
myclerk.Sex = Me.ComboBox1.SelectedIndex
myclerk.Marry = Me.ComboBox2.SelectedIndex
myclerk.Tel = Trim(Me.TextBox3.Text)
myclerk.Address = Trim(Me.TextBox4.Text)
myclerk.Dept = Trim(Me.TextBox5.Text)
myclerk.Duty = Trim(Me.TextBox6.Text)
myclerk.Salary = Val(Trim(Me.TextBox7.Text))
myclerk.HireDate = Me.DateTimePicker1.Value.ToShortDateString
Return myclerk
End Function
Private Sub Form9_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
LoadData()
End Sub
Public Function LoadData()
Me.TreeView1.Nodes.Clear()
Dim sqlstr As String
Dim count As Integer
Dim i As Integer
Dim Dataset As New DataSet()
Try
Dataset.Clear()
sqlstr = "SELECT * FROM Clerk"
Dataset = GetDataFromDB(sqlstr)
count = Dataset.Tables(0).Rows.Count
Dim objDTable As New DataTable()
objDTable = Dataset.Tables(0)
ReDim myClerks(count - 1)
For i = 0 To count - 1
Dim sClerk As New Clerk()
sClerk.ID = Dataset.Tables(0).Rows(i).Item("ClerkID")
sClerk.Name = Dataset.Tables(0).Rows(i).Item("Name")
sClerk.Sex = Dataset.Tables(0).Rows(i).Item("Sex")
sClerk.Marry = Dataset.Tables(0).Rows(i).Item("Marry")
sClerk.Tel = Dataset.Tables(0).Rows(i).Item("Tel")
sClerk.Address = Dataset.Tables(0).Rows(i).Item("Address")
sClerk.Dept = Dataset.Tables(0).Rows(i).Item("Dept")
sClerk.Duty = Dataset.Tables(0).Rows(i).Item("Duty")
sClerk.Salary = Val(Dataset.Tables(0).Rows(i).Item("Salary"))
sClerk.HireDate = CDate(Dataset.Tables(0).Rows(i).Item("HireDate"))
myClerks(i) = sClerk
AddNode(sClerk)
Next
Dim id As String
If count = 0 Then
Else
id = Dataset.Tables(0).Rows(0).Item("ClerkID")
ShowClerk(id)
End If
Catch
End Try
End Function
Public Function ShowClerk(ByVal id As String)
Dim sClerk As Clerk
For Each sClerk In myClerks
If sClerk.ID = id Then
Me.TextBox1.Text = sClerk.ID
Me.TextBox2.Text = sClerk.Name
Me.TextBox3.Text = sClerk.Tel
Me.TextBox4.Text = sClerk.Address
Me.TextBox5.Text = sClerk.Dept
Me.TextBox6.Text = sClerk.Duty
Me.TextBox7.Text = sClerk.Salary
Me.ComboBox1.SelectedIndex = sClerk.Sex
Me.ComboBox2.SelectedIndex = sClerk.Marry
Me.DateTimePicker1.Value = sClerk.HireDate
End If
Next
End Function
Private Sub TreeView1_AfterSelect(ByVal sender As Object, _
ByVal e As System.Windows.Forms.TreeViewEventArgs) _
Handles TreeView1.AfterSelect
If e.Node.Tag Is Nothing Then
Else
Dim id As String = e.Node.Tag
ShowClerk(id)
End If
End Sub
Public Class Clerk
Public ID As String
Public Name As String
Public Sex As Integer
Public Marry As Integer
Public Tel As String
Public Address As String
Public Dept As String
Public Duty As String
Public Salary As Double
Public HireDate As Date
End Class
Private Sub Button2_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button2.Click
Dim id As String
id = Trim(Me.TextBox1.Text)
Dim sqlstr As String
If MsgBox("你真的要删除该员工记录吗?", MsgBoxStyle.YesNo + _
MsgBoxStyle.Exclamation, "删除员工") = MsgBoxResult.Yes Then
sqlstr = "DELETE FROM Clerk WHERE ClerkID='" & id & "'"
If UpdateData(sqlstr) = True Then
MsgBox("成功删除了该员工记录。", MsgBoxStyle.OKOnly + _
MsgBoxStyle.Exclamation, "删除成功")
Else
MsgBox("删除员工记录过程发生错误,删除失败。", MsgBoxStyle.OKOnly + _
MsgBoxStyle.Exclamation, "删除失败")
End If
Else
Exit Sub
End If
LoadData()
End Sub
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -