如何使用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);
假设您使用DataTable
和DataAdapter
填充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对象,因为它们是可观察的。