⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmemployee.vb

📁 单机版餐饮服务系统,结合了SqlServer数据库
💻 VB
📖 第 1 页 / 共 3 页
字号:
                    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 + -