4

我正在编写一个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,因为我在互联网上没有找到任何有用的东西。

4

4 回答 4

3
        this.Validate();
        this.productsBindingSource.EndEdit();
        this.productsTableAdapter1.Update(this.databaseDataSet1.products);
        //this.productsTableAdapter1.UpdateAll(this.databaseDataSet1);
于 2013-01-12T13:57:08.080 回答
0

DataTable假设您使用 a和 a填充 datagridview,DataAdapter您可以执行以下操作:

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

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

于 2013-01-12T11:15:08.973 回答
0

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

于 2013-01-12T11:11:17.693 回答
0
try
{
    this.Validate();
    this.customersBindingSource.EndEdit();
    this.customersTableAdapter.Update(this.northwindDataSet.Customers);
    MessageBox.Show("Update successful");
}
catch (System.Exception ex)
{
    MessageBox.Show("Update failed");
}
于 2020-01-04T20:29:06.890 回答