编辑绑定列表框内容后更新MS Access

时间:2011-09-01 18:37:33

标签: c# .net ms-access listbox

我创建了一个列表框,该列表框绑定到连接到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和其他网站,但我找不到任何接近的东西。

1 个答案:

答案 0 :(得分:0)

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

删除dEmployeesTable.Rows[lstEmployees.SelectedIndex].AcceptChanges();行,然后重试

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

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