如何使用TableAdapter进行更新?

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

  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对象,因为它们是可观察的。