如何更新TableAdapter

本文关键字:TableAdapter 更新 何更新 | 更新日期: 2023-09-27 17:51:24

我正在编写一个使用数据库的WindowsApplication程序。我用DataGridView显示数据库值。目前,我希望有可能通过DataGridView更新数据库,因此我编写了以下代码:

    private void MainForm_Load(object sender, EventArgs e)
    {
        // TODO: This line of code loads data into the 'databaseDataSet1.products' table. You can move, or remove it, as needed.
        this.productsTableAdapter1.Fill(this.databaseDataSet1.products);
    }
    private void upButton1_Click(object sender, EventArgs e)
    {
        this.productsTableAdapter1.Update(this.databaseDataSet1.products);
        MessageBox.Show("הנתונים עודכנו בהצלחה!");
    }

问题是没有将值更新到数据库中。如果有人能帮我解决这个问题,或者更好的是,解释一下如何使用DataGridView,我会很高兴的,因为我在互联网上没有找到任何有用的东西。

如何更新TableAdapter

        this.Validate();
        this.productsBindingSource.EndEdit();
        this.productsTableAdapter1.Update(this.databaseDataSet1.products);
        //this.productsTableAdapter1.UpdateAll(this.databaseDataSet1);

假设您使用DataTableDataAdapter填充datagridview,您可以执行以下操作:

private void SaveChanges()
{
    try
    {
        if (sqlDataAdapter != null && dataTable.GetChanges() != null)
            sqlDataAdapter.Update(dataTable);
    }
    catch (Exception exception)
    {
        MessageBox.Show(exception.Message);
    }
}

这将自动生成任何插入,更新或删除语句需要根据您的DataTable更新数据库

你应该将datagridview绑定到DataTable或BindingList对象,因为它们是可观察的。

try
{
    this.Validate();
    this.customersBindingSource.EndEdit();
    this.customersTableAdapter.Update(this.northwindDataSet.Customers);
    MessageBox.Show("Update successful");
}
catch (System.Exception ex)
{
    MessageBox.Show("Update failed");
}