【问题标题】:Update MS Access after editing bound listbox contents编辑绑定列表框内容后更新 MS Access
【发布时间】:2011-09-01 18:37:32
【问题描述】:

我在连接到 MS Access 数据库的 C# 中创建了一个绑定到数据表的列表框。

这个想法是在列表框上显示表格的内容,然后通过选择每一个,它会在整个表单的文本框上显示其他值。我能够做到这一点。我的下一个问题是在编辑文本框中的值时更新数据库。现在我所做的是创建一个更新按钮,然后将更新列表框中的值,然后为列表框正在使用的 dataAdapter 调用 Update() 函数,但它似乎不会影响表。我的代码如下。

private void btnUpdate_Click(object sender, EventArgs e)
{
    if (lstEmployees.SelectedIndex > -1)
    {
        dEmployeesTable.Rows[lstEmployees.SelectedIndex].BeginEdit();
        dEmployeesTable.Rows[lstEmployees.SelectedIndex]["LastName"] = txtLastName.Text;
        dEmployeesTable.Rows[lstEmployees.SelectedIndex].AcceptChanges();
        dAdapter2.Update(dEmployeesTable);
    }
}

我错过了什么吗?我已经用 datagridviews 试过了,它工作正常,包括编辑和删除。不知道为什么它不适用于列表框。

我试过四处寻找并搜索 stackoverflow 和其他网站,但找不到任何接近的东西。

【问题讨论】:

    标签: c# .net ms-access listbox


    【解决方案1】:

    使用Update时,执行顺序如下:

    所以删除dEmployeesTable.Rows[lstEmployees.SelectedIndex].AcceptChanges();这一行再试一次

    AcceptChanges 提交对数据集或数据表的更改。所有添加和修改的行 变成"Unchanged"

    当您调用Update (..) 时,数据适配器不会 查找要更新的任何修改的行。 Update () 内部调用AcceptChanges ()

    【讨论】:

      猜你喜欢
      • 2022-01-23
      • 1970-01-01
      • 1970-01-01
      • 2023-01-31
      • 1970-01-01
      • 2017-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多