Vb.net 保存和删除时更新组合框

Vb.net 保存和删除时更新组合框,vb.net,combobox,Vb.net,Combobox,我有一个带有员工档案名称的绑定组合框。我有两个按钮:保存和删除按钮 当我编辑一个选定的配置文件时,我点击save并自动将更改反映在绑定组合框中,但当我点击delete或create new profile时,我必须关闭应用程序,当我打开它时,我会在绑定组合框中看到更改 combobox.Refresh()无效 这是我的代码: Private Sub deleteselectedprofile_Click(ByVal sender As System.Object, ByVal e As Syst

我有一个带有员工档案名称的绑定组合框。我有两个按钮:保存和删除按钮

当我编辑一个选定的配置文件时,我点击save并自动将更改反映在绑定组合框中,但当我点击delete或create new profile时,我必须关闭应用程序,当我打开它时,我会在绑定组合框中看到更改

combobox.Refresh()无效

这是我的代码:

Private Sub deleteselectedprofile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_deleteprofile_oninsideprofiledittap1.Click
    Dim mconn As New SqlConnection("Data Source=(local);Initial Catalog=epmapp_db;Integrated Security=true;")
    Dim cmd As New SqlCommand
    cmd.Connection = mconn
    cmd.CommandType = CommandType.Text
    cmd.CommandText = "delete GeneralInfo where RecordId= " + cbox_profiles.SelectedValue.ToString

    Try
        If MessageBox.Show("¿Está seguro de querer borrar este perfil?", _
        "Delete", MessageBoxButtons.YesNo, _
        MessageBoxIcon.Warning) = DialogResult.No Then
            mconn.Close()
            MsgBox("Operación Cancelada")
        Else
            mconn.Open()
            cmd.ExecuteNonQuery()
            MessageBox.Show("Su perfil se ha actualizado exitosamete")
            Clear_Form_tap1()
            disabling_controlstap1()
            btn_newprofile_onload_tap1.Visible = True
            btn_saveprofile_oninside_profileedit_tap1.Visible = False
            btn_editprofile_oncboxselectiontap1.Visible = False
            btn_cancelprofileedit_onprofileselectiontap1.Visible = False
            btn_deleteprofile_oninsideprofiledittap1.Visible = False
            cbox_profiles.Enabled = True
            ErrorProvider1.Clear()

        End If

    Catch ex As Exception
        MessageBox.Show(ex.Message)
    Finally
        mconn.Close()
    End Try

End Sub
我在“设计”选项卡中使用

Combo Box Task
Use Data Bound Items
Data Binding Mode
Data Source = GeneralInfoBindingDource
Display  Member = Nombre
Value Member = RecordId
Selected Value = none
我的保存按钮代码

Private Sub btn_saveprofile_oninside_profileedit_tap1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_saveprofile_oninside_profileedit_tap1.Click

    Me.Validate()
    Me.GeneralInfoBindingSource.EndEdit()
    Me.GeneralInfoTableAdapter.Update(Me.Epmapp_dbDataSet)
    Try
        MessageBox.Show("Su perfil ha actualizado exitosamete")
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try
    Clear_Form_tap1()
    disabling_controlstap1()
    btn_saveprofile_oninside_profileedit_tap1.Visible = False
    btn_cancelprofileedit_onprofileselectiontap1.Visible = False
    btn_deleteprofile_oninsideprofiledittap1.Visible = False
    btn_editprofile_oncboxselectiontap1.Visible = False
    btn_newprofile_onload_tap1.Visible = True
    cbox_profiles.Enabled = True
    ErrorProvider1.Clear()

End Sub

我尝试了一些代码,但没有一个适合我。有人能帮我为这个小问题编写一个代码吗?

如果我正确地遵循了这一点,那么当您删除一条记录时,您将直接在数据库中执行此操作。但是,您没有更新数据源(GeneralInfo BindingDource)。我猜你在创建一个新项目时也会遇到同样的问题。数据库会更新,因此当它从数据库重新加载数据时,它会显示正确的数据。(重新打开时)

您需要更新数据源

保存之所以有效,是因为您正在更新数据源,而不是在不更新数据库的情况下将更改写入数据库

Me.GeneralInfoBindingSource.EndEdit()
Me.GeneralInfoTableAdapter.Update(Me.Epmapp_dbDataSet)

如果我正确地遵循了这一点,那么当您删除记录时,您将直接在数据库中执行此操作。但是,您没有更新数据源(GeneralInfo BindingDource)。我猜你在创建一个新项目时也会遇到同样的问题。数据库会更新,因此当它从数据库重新加载数据时,它会显示正确的数据。(重新打开时)

您需要更新数据源

保存之所以有效,是因为您正在更新数据源,而不是在不更新数据库的情况下将更改写入数据库

Me.GeneralInfoBindingSource.EndEdit()
Me.GeneralInfoTableAdapter.Update(Me.Epmapp_dbDataSet)

你应该提到使用了什么编程语言