📄 frmemployee.vb
字号:
MsgBoxStyle.Exclamation, "数据保存失败")
Exit Sub
End If
Catch ex As Exception
Finally
InitialEmployees()
End Try
End Sub
Public Function GetDataFromForm() As Clerk
Dim myclerk As New Clerk
myclerk.ID = Trim(Me.txtEmployeeID.Text)
If myclerk.ID = String.Empty Then
MsgBox("员工信息中""员工编码""不能为空。", _
MsgBoxStyle.OKOnly + MsgBoxStyle.Exclamation, "添加失败")
Return Nothing
End If
myclerk.Name = Trim(Me.txtTrueName.Text)
If myclerk.Name = String.Empty Then
MsgBox("员工信息中""姓名""不能为空。", _
MsgBoxStyle.OKOnly + MsgBoxStyle.Exclamation, "添加失败")
Return Nothing
End If
myclerk.Sex = Me.cmbGender.SelectedIndex
myclerk.Marry = Me.cmbMarriedInfo.SelectedIndex
myclerk.Tel = Trim(Me.txtTelephone.Text)
myclerk.Address = Trim(Me.txtAddress.Text)
myclerk.Dept = Trim(Me.txtPartment.Text)
If myclerk.Dept = String.Empty Then
MsgBox("员工信息中""部门""不能为空。", _
MsgBoxStyle.OKOnly + MsgBoxStyle.Exclamation, "添加失败")
Return Nothing
End If
myclerk.Duty = Trim(Me.txtDuty.Text)
myclerk.Salary = CDbl(Val(Trim(Me.txtSalary.Text)))
If myclerk.Salary = 0 Then
myclerk.Salary = CDbl(Me.txtSalary.Text.Substring(1))
End If
myclerk.HireDate = Me.EmployeeDate.Value.ToShortDateString
myclerk.PhotoPath = mFileName.Substring(mFileName.LastIndexOf("\") + 1)
Return myclerk
End Function
Private Sub frmEmployee_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
InitialEmployees()
End Sub
Public Sub ShowClerk(ByVal sClerk As Clerk)
Me.txtEmployeeID.Text = sClerk.ID
Me.txtTrueName.Text = sClerk.Name
Me.txtTelephone.Text = sClerk.Tel
Me.txtAddress.Text = sClerk.Address
Me.txtPartment.Text = sClerk.Dept
Me.txtDuty.Text = sClerk.Duty
Me.txtSalary.Text = sClerk.Salary.ToString("C")
Me.cmbGender.SelectedIndex = sClerk.Sex
Me.cmbMarriedInfo.SelectedIndex = sClerk.Marry
Me.EmployeeDate.Value = sClerk.HireDate
If sClerk.PhotoPath = String.Empty Then
EmployeePhoto.Image = Nothing
Else
mFileName = AccessToDatabase.GetStartupPath & "\EmployeePhotoes\" & sClerk.PhotoPath
EmployeePhoto.Image = New Bitmap(mFileName)
End If
End Sub
Private Sub EmployeesTree_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles EmployeesTree.AfterSelect
Try
If e.Node.GetNodeCount(True) < 1 Then
gpDetails.Enabled = True
sqlstr = "SELECT * FROM ClerkInfo WHERE ClerkID='" & mEmployees.Item(e.Node.FullPath) & "'"
Dim tempDS As New DataSet
tempDS.Clear()
tempDS = AccessToDatabase.GetDataFromDB(sqlstr)
If Not tempDS Is Nothing Then
Dim sClerk As New Clerk
sClerk.ID = CStr(tempDS.Tables(0).Rows(0).Item("ClerkID"))
sClerk.Name = CStr(tempDS.Tables(0).Rows(0).Item("ClerkName"))
sClerk.Sex = System.Math.Abs(CInt(tempDS.Tables(0).Rows(0).Item("Sex")))
sClerk.Marry = CInt(tempDS.Tables(0).Rows(0).Item("Marry"))
If tempDS.Tables(0).Rows(0).Item("Tel").GetType.ToString = "System.DBNull" Then
sClerk.Tel = String.Empty
Else
sClerk.Tel = CStr(tempDS.Tables(0).Rows(0).Item("Tel"))
End If
If tempDS.Tables(0).Rows(0).Item("Address").GetType.ToString = "" Then
sClerk.Address = String.Empty
Else
sClerk.Address = CStr(tempDS.Tables(0).Rows(0).Item("Address"))
End If
sClerk.Dept = CStr(tempDS.Tables(0).Rows(0).Item("Dept"))
sClerk.Duty = CStr(tempDS.Tables(0).Rows(0).Item("Duty"))
sClerk.Salary = CDec(Val(tempDS.Tables(0).Rows(0).Item("Salary")))
sClerk.HireDate = CDate(tempDS.Tables(0).Rows(0).Item("HireDate"))
If tempDS.Tables(0).Rows(0).Item("PhotoPath").GetType.ToString = "System.DBNull" Then
sClerk.PhotoPath = String.Empty
Else
sClerk.PhotoPath = CStr(tempDS.Tables(0).Rows(0).Item("PhotoPath"))
End If
ShowClerk(sClerk)
End If
Else
gpDetails.Enabled = False
End If
Catch ex As Exception
Return
End Try
End Sub
Public Class Clerk
Public ID As String = String.Empty
Public Name As String = String.Empty
Public Sex As Integer = -1
Public Marry As Integer = -1
Public Tel As String = String.Empty
Public Address As String = String.Empty
Public Dept As String = String.Empty
Public Duty As String = String.Empty
Public Salary As Double = -100
Public HireDate As Date = Now.ToShortDateString
Public PhotoPath As String = String.Empty
End Class
Private Sub btnFire_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFire.Click
Dim id As String
If EmployeesTree.SelectedNode Is Nothing Then
Return
Else
If txtEmployeeID.Text.Trim = String.Empty Then
Return
Else
id = Me.txtEmployeeID.Text.Trim
If MsgBox("你真的要删除该员工记录吗?", MsgBoxStyle.YesNo + _
MsgBoxStyle.Question, "删除员工") = MsgBoxResult.Yes Then
sqlstr = "DELETE FROM Clerk WHERE ClerkID='" & id & "'"
If AccessToDatabase.UpdateData(sqlstr) = True Then
EmployeesTree.Nodes.Remove(EmployeesTree.SelectedNode)
MsgBox("成功删除了该员工记录。", MsgBoxStyle.OKOnly + _
MsgBoxStyle.Exclamation, "删除成功")
btnClear_Click(Nothing, Nothing)
Else
MsgBox("删除员工记录过程发生错误,删除失败。", MsgBoxStyle.OKOnly + _
MsgBoxStyle.Exclamation, "删除失败")
End If
Else
Return
End If
End If
End If
End Sub
Private Sub btnBrowse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBrowse.Click
Dim OpenPhotoFileDialog As New OpenFileDialog
With OpenPhotoFileDialog
.Title = ""
.CheckFileExists = True
.Filter = "BMP Files(*.bmp)|*.bmp|JPEG Files(*.jpg)|*.jpg"
If .ShowDialog = DialogResult.OK Then
mFileName = .FileName
End If
End With
If mFileName = String.Empty Then
MsgBox("", MsgBoxStyle.OKOnly + MsgBoxStyle.Exclamation, "")
Exit Sub
End If
Dim mImage As Bitmap = New Bitmap(mFileName)
EmployeePhoto.Image = mImage
End Sub
Private Sub InitialEmployees()
EmployeesTree.Nodes.Clear()
EmployeesTree.Nodes.Add("卧溪酒楼")
sqlstr = "SELECT DISTINCT Dept FROM ClerkInfo"
Dim tempDS As New DataSet
Dim Count, Index As Integer
Dim NodesText As String = String.Empty
Dim sCount, sIndex As Integer
tempDS.Clear()
tempDS = AccessToDatabase.GetDataFromDB(sqlstr)
If Not tempDS Is Nothing Then
Count = tempDS.Tables(0).Rows.Count
For Index = 0 To Count - 1
EmployeesTree.TopNode.Nodes.Add(tempDS.Tables(0).Rows(Index)("Dept"))
Next
End If
tempDS = Nothing
For Index = 0 To Count - 1
NodesText = EmployeesTree.TopNode.Nodes.Item(Index).Text
sqlstr = "SELECT ClerkID, ClerkName FROM ClerkInfo WHERE Dept='" & NodesText & "'"
tempDS = New DataSet
tempDS.Clear()
tempDS = AccessToDatabase.GetDataFromDB(sqlstr)
If Not tempDS Is Nothing Then
sCount = tempDS.Tables(0).Rows.Count
For sIndex = 0 To sCount - 1
EmployeesTree.TopNode.Nodes(Index).Nodes.Add(tempDS.Tables(0).Rows(sIndex)("ClerkName"))
If mEmployees.GetKeyList.Contains(EmployeesTree.TopNode.Nodes(Index).Nodes(sIndex).FullPath) Then
Else
mEmployees.Add(EmployeesTree.TopNode.Nodes(Index).Nodes(sIndex).FullPath, tempDS.Tables(0).Rows(sIndex)("ClerkID"))
End If
Next
End If
Next
EmployeesTree.ExpandAll()
End Sub
Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click
Me.txtEmployeeID.Text = String.Empty
Me.txtTrueName.Text = String.Empty
Me.txtTelephone.Text = String.Empty
Me.txtAddress.Text = String.Empty
Me.txtPartment.Text = String.Empty
Me.txtDuty.Text = String.Empty
Me.txtSalary.Text = String.Empty
Me.cmbGender.SelectedIndex = 0
Me.cmbMarriedInfo.SelectedIndex = 0
Me.EmployeeDate.Value = Now.ToShortDateString
End Sub
Private Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdate.Click
Dim sClerk As Clerk
sClerk = GetDataFromForm()
If sClerk Is Nothing Then
Return
End If
Dim sqlstr As String
Try
sqlstr = "UPDATE ClerkInfo SET Marry=" & sClerk.Marry & ",Tel='" & sClerk.Tel & "',Dept='" & sClerk.Dept & "',Duty='" & sClerk.Duty & "',Salary=" & sClerk.Salary & ",Address='" & sClerk.Address & "',PhotoPath='" & sClerk.PhotoPath & "' WHERE ClerkID='" & sClerk.ID & "'"
If AccessToDatabase.UpdateData(sqlstr) = True Then
MsgBox("已经成功更新了该用户资料", MsgBoxStyle.OKOnly + _
MsgBoxStyle.Information, "添加员工成功")
Else
MsgBox("数据保存失败,数据无法更新。", MsgBoxStyle.OKOnly + _
MsgBoxStyle.Exclamation, "数据保存失败")
Exit Sub
End If
Me.ShowClerk(sClerk)
Catch ex As Exception
End Try
End Sub
End Class
End Namespace
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -