Visual Basic 2010 数据库开发之人事管理系统05编辑员工档案窗体

还有问题,修改保存不能更新库,调试了N天了。用添加数据时生成的控件不行,只好用老办法。

Imports System.Data.SqlClient
Imports 人事管理系统.rsglxtDataSetTableAdapters
Imports 人事管理系统.rsglxtDataSet
Public Class 编辑员工档案
    Dim flag As String = ""
    Private Sub SetControlDisable()
        GroupBox1.Enabled = False
    End Sub
    Private Sub SetControlEnable()
        GroupBox1.Enabled = True
    End Sub

    Dim myda As New 员工档案表TableAdapter
    Dim mydt As 员工档案表DataTable
    '使用dataview定制从数据库返回的、存储在DataSet中的记录的视图
    Dim myDataView As DataView
    'CurrencyManager用于控制绑定数据
    Dim bmdata As CurrencyManager

    '数据填充并更新显示过程
    Private Sub FillDataSetAndView()
        mydt = New 员工档案表DataTable
        myda.Fill(mydt)
        '将表填入dataview
        myDataView = New DataView(mydt)
        '将DataView变量绑定控件,能记录位置
        bmdata = Me.BindingContext(myDataView)
    End Sub

    '获得数据库最新数据,并填充DataView对象
    Private Sub BindFields()
        员工编号TextBox.DataBindings.Clear()
        姓名TextBox.DataBindings.Clear()
        性别ComboBox.DataBindings.Clear()
        籍贯TextBox.DataBindings.Clear()
        出生日期DateTimePicker.DataBindings.Clear()
        学历TextBox.DataBindings.Clear()
        专业TextBox.DataBindings.Clear()
        身份证号TextBox.DataBindings.Clear()
        婚姻状况ComboBox.DataBindings.Clear()
        政治面貌ComboBox.DataBindings.Clear()
        电话号码TextBox.DataBindings.Clear()
        电子邮箱TextBox.DataBindings.Clear()
        家庭住址TextBox.DataBindings.Clear()
        邮政编码TextBox.DataBindings.Clear()
        进入公司时间DateTimePicker.DataBindings.Clear()
        起薪时间DateTimePicker.DataBindings.Clear()
        所在部门TextBox.DataBindings.Clear()
        进入部门时间DateTimePicker.DataBindings.Clear()
        职称TextBox.DataBindings.Clear()
        通过时间DateTimePicker.DataBindings.Clear()
        工作经验TextBox.DataBindings.Clear()
        其他备注TextBox.DataBindings.Clear()

        员工编号TextBox.DataBindings.Add("text", myDataView, "员工编号")
        姓名TextBox.DataBindings.Add("text", myDataView, "姓名")
        籍贯TextBox.DataBindings.Add("text", myDataView, "籍贯")
        出生日期DateTimePicker.DataBindings.Add("value", myDataView, "出生日期")
        学历TextBox.DataBindings.Add("text", myDataView, "学历")
        专业TextBox.DataBindings.Add("text", myDataView, "专业")
        身份证号TextBox.DataBindings.Add("text", myDataView, "身份证号")
        婚姻状况ComboBox.DataBindings.Add("text", myDataView, "婚姻状况")
        政治面貌ComboBox.DataBindings.Add("text", myDataView, "政治面貌")
        电话号码TextBox.DataBindings.Add("text", myDataView, "电话号码")
        电子邮箱TextBox.DataBindings.Add("text", myDataView, "电子邮箱")
        家庭住址TextBox.DataBindings.Add("text", myDataView, "家庭住址")
        邮政编码TextBox.DataBindings.Add("text", myDataView, "邮政编码")
        进入公司时间DateTimePicker.DataBindings.Add("value", myDataView, "进入公司时间")
        起薪时间DateTimePicker.DataBindings.Add("value", myDataView, "起薪时间")
        所在部门TextBox.DataBindings.Add("text", myDataView, "所在部门")
        进入部门时间DateTimePicker.DataBindings.Add("value", myDataView, "进入部门时间")
        职称TextBox.DataBindings.Add("text", myDataView, "职称")
        通过时间DateTimePicker.DataBindings.Add("value", myDataView, "通过时间")
        工作经验TextBox.DataBindings.Add("text", myDataView, "工作经验")
        其他备注TextBox.DataBindings.Add("text", myDataView, "其他备注")
    End Sub

    Private Sub 编辑员工档案_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        性别ComboBox.Items.Add("男")
        性别ComboBox.Items.Add("女")
        性别ComboBox.SelectedIndex = 0

        婚姻状况ComboBox.Items.Add("已婚")
        婚姻状况ComboBox.Items.Add("未婚")
        婚姻状况ComboBox.SelectedIndex = 0

        政治面貌ComboBox.Items.Add("中共党员")
        政治面貌ComboBox.Items.Add("共青团员")
        政治面貌ComboBox.Items.Add("群众")

        SetControlDisable()
        FillDataSetAndView()
        BindFields()
        DataGridView1.DataSource = mydt
    End Sub

    
    Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
        flag = "add"
        SetControlEnable()

        员工编号TextBox.Text = ""
        姓名TextBox.Text = ""
        性别ComboBox.Text = ""
        籍贯TextBox.Text = ""
        出生日期DateTimePicker.Value = Today
        学历TextBox.Text = ""
        专业TextBox.Text = ""
        身份证号TextBox.Text = ""
        婚姻状况ComboBox.Text = ""
        政治面貌ComboBox.Text = ""
        电话号码TextBox.Text = ""
        电子邮箱TextBox.Text = ""
        家庭住址TextBox.Text = ""
        邮政编码TextBox.Text = ""
        进入公司时间DateTimePicker.Value = Today
        起薪时间DateTimePicker.Value = Today
        所在部门TextBox.Text = ""
        进入部门时间DateTimePicker.Text = ""
        职称TextBox.Text = ""
        通过时间DateTimePicker.Value = Today
        工作经验TextBox.Text = ""
        其他备注TextBox.Text = ""

        Try
            bmdata.EndCurrentEdit()
            bmdata.AddNew()
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

    Private Sub btnModify_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnModify.Click
        flag = "modify"
        SetControlEnable()
        员工编号TextBox.Focus()
    End Sub

    Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click

        Try
            'UpdateDataTable()
            If flag = "add" Then
                myda.Insert( _
                    员工编号TextBox.Text, _
                    姓名TextBox.Text, _
                    性别ComboBox.Text, _
                    籍贯TextBox.Text, _
                    出生日期DateTimePicker.Value, _
                    学历TextBox.Text, _
                    专业TextBox.Text, _
                    身份证号TextBox.Text, _
                    婚姻状况ComboBox.Text, _
                    政治面貌ComboBox.Text, _
                    电话号码TextBox.Text, _
                    电子邮箱TextBox.Text, _
                    家庭住址TextBox.Text, _
                    邮政编码TextBox.Text, _
                    进入公司时间DateTimePicker.Value, _
                    起薪时间DateTimePicker.Value, _
                    所在部门TextBox.Text, _
                    进入部门时间DateTimePicker.Value, _
                    职称TextBox.Text, _
                    通过时间DateTimePicker.Value, _
                    工作经验TextBox.Text, _
                    其他备注TextBox.Text)
            ElseIf flag = "modify" Then
                Dim conn As SqlConnection = GetConnetion()
                conn.Open()
                Dim strSql As String = _
                    "Update 员工档案表 " _
                   & "Set 姓名=@姓名,性别=@性别,籍贯=@籍贯,出生日期=@出生日期,学历=@学历,专业=@专业,身份证号=@身份证号," _
                   & "婚姻状况=@婚姻状况,政治面貌=@政治面貌,电话号码=@电话号码,电子邮箱=@电子邮箱,家庭住址=@家庭住址,邮政编码=@邮政编码," _
                   & "进入公司时间=@进入公司时间,起薪时间=@起薪时间,所在部门=@所在部门,进入部门时间=@进入部门时间,职称=@职称," _
                   & "通过时间=@通过时间,工作经验=@工作经验,其他备注=@其他备注 " _
                   & "Where 员工编号='{0}'"
                strSql = String.Format(strSql, 员工编号TextBox.Text)

                Dim comm As New SqlCommand(strSql, conn)
                comm.CommandType = CommandType.Text

                comm.Parameters.AddWithValue("@姓名", 姓名TextBox.Text)
                comm.Parameters.AddWithValue("@性别", 性别ComboBox.Text)
                comm.Parameters.AddWithValue("@籍贯", 籍贯TextBox.Text)
                comm.Parameters.AddWithValue("@出生日期", 出生日期DateTimePicker.Value)
                comm.Parameters.AddWithValue("@学历", 学历TextBox.Text)
                comm.Parameters.AddWithValue("@专业", 专业TextBox.Text)
                comm.Parameters.AddWithValue("@身份证号", 身份证号TextBox.Text)
                comm.Parameters.AddWithValue("@婚姻状况", 婚姻状况ComboBox.Text)
                comm.Parameters.AddWithValue("@政治面貌", 政治面貌ComboBox.Text)
                comm.Parameters.AddWithValue("@电话号码", 电话号码TextBox.Text)
                comm.Parameters.AddWithValue("@电子邮箱", 电子邮箱TextBox.Text)
                comm.Parameters.AddWithValue("@家庭住址", 家庭住址TextBox.Text)
                comm.Parameters.AddWithValue("@邮政编码", 邮政编码TextBox.Text)
                comm.Parameters.AddWithValue("@进入公司时间", 进入公司时间DateTimePicker.Value)
                comm.Parameters.AddWithValue("@起薪时间", 起薪时间DateTimePicker.Value)
                comm.Parameters.AddWithValue("@所在部门", 所在部门TextBox.Text)
                comm.Parameters.AddWithValue("@进入部门时间", 进入部门时间DateTimePicker.Value)
                comm.Parameters.AddWithValue("@职称", 职称TextBox.Text)
                comm.Parameters.AddWithValue("@通过时间", 通过时间DateTimePicker.Value)
                comm.Parameters.AddWithValue("@工作经验", 工作经验TextBox.Text)
                comm.Parameters.AddWithValue("@其他备注", 其他备注TextBox.Text)
               
                comm.ExecuteNonQuery()
                conn.Close()

            Else
                flag = ""
                Exit Sub
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try

        FillDataSetAndView()
        BindFields()
        SetControlDisable()

        DataGridView1.DataSource = mydt
    End Sub

    Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDel.Click
        If MessageBox.Show("确定删除吗?", "提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Stop) = DialogResult.Yes Then
            If bmdata.Count > 0 Then
                mydt.Rows(bmdata.Position).Delete()
                Dim dt As 员工档案表DataTable = mydt.GetChanges
                myda.Update(dt)
            End If
        End If

        FillDataSetAndView()
        BindFields()

    End Sub

    Private Sub btnFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFirst.Click
        bmdata.Position = 0
    End Sub

    Private Sub btnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNext.Click
        If bmdata.Position = mydt.Rows.Count - 1 Then
            MsgBox("已经是最后一条")
        Else
            bmdata.Position = bmdata.Position + 1
        End If
    End Sub

    Private Sub btnPre_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPre.Click
        If bmdata.Position = 0 Then
            MsgBox("已经是第一条")
        Else
            bmdata.Position = bmdata.Position - 1
        End If
    End Sub

    Private Sub btnLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLast.Click
        bmdata.Position = mydt.Rows.Count - 1
    End Sub

    Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
        Me.Close()
    End Sub

    Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
        Dim intIndex As Integer = e.RowIndex
        Try
            员工编号TextBox.Text = DataGridView1.Rows(intIndex).Cells(0).Value
            姓名TextBox.Text = DataGridView1.Rows(intIndex).Cells(1).Value
            性别ComboBox.Text = DataGridView1.Rows(intIndex).Cells(2).Value
            籍贯TextBox.Text = DataGridView1.Rows(intIndex).Cells(3).Value
            出生日期DateTimePicker.Value = DataGridView1.Rows(intIndex).Cells(4).Value
            学历TextBox.Text = DataGridView1.Rows(intIndex).Cells(5).Value
            专业TextBox.Text = DataGridView1.Rows(intIndex).Cells(6).Value
            身份证号TextBox.Text = DataGridView1.Rows(intIndex).Cells(7).Value
            婚姻状况ComboBox.Text = DataGridView1.Rows(intIndex).Cells(8).Value
            政治面貌ComboBox.Text = DataGridView1.Rows(intIndex).Cells(9).Value
            电话号码TextBox.Text = DataGridView1.Rows(intIndex).Cells(10).Value
            电子邮箱TextBox.Text = DataGridView1.Rows(intIndex).Cells(11).Value
            家庭住址TextBox.Text = DataGridView1.Rows(intIndex).Cells(12).Value
            邮政编码TextBox.Text = DataGridView1.Rows(intIndex).Cells(13).Value
            进入公司时间DateTimePicker.Value = DataGridView1.Rows(intIndex).Cells(14).Value
            起薪时间DateTimePicker.Value = DataGridView1.Rows(intIndex).Cells(15).Value
            所在部门TextBox.Text = DataGridView1.Rows(intIndex).Cells(16).Value
            进入部门时间DateTimePicker.Text = DataGridView1.Rows(intIndex).Cells(17).Value
            职称TextBox.Text = DataGridView1.Rows(intIndex).Cells(18).Value
            通过时间DateTimePicker.Value = DataGridView1.Rows(intIndex).Cells(19).Value
            工作经验TextBox.Text = DataGridView1.Rows(intIndex).Cells(20).Value
            其他备注TextBox.Text = DataGridView1.Rows(intIndex).Cells(21).Value
        Catch ex As Exception
            Exit Sub
        End Try

    End Sub
End Class

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ngbshzhn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值