我非常感谢您的帮助,因为我已经为此苦苦挣扎了两天。
当我第一次构建解决方案时,我可以添加新记录、删除/编辑任何数据值并且一切正常。然后,我可以使用 TableBindingNavigator 中的保存按钮保存数据,到目前为止一切正常。
但是,在第一次保存后,我无法在从表中删除或编辑任何现有数据值后再次保存,尽管表网格视图会在我编辑/删除时更新。我收到以下错误:如果单击保存,我会收到一条错误消息,提示“在传递带有已删除行的 DataRow 集合时,更新需要有效的 DeleteCommand。” 如果我编辑任何数据,我会收到一条错误消息,提示“在传递带有修改行的 DataRow 集合时,更新需要有效的 UpdateCommand。”
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Hatch_Optimizer.Properties;
namespace Hatch_Optimizer
{
public partial class frmMain : Form
{
public frmMain()
{
InitializeComponent();
}
private void tblVarBindingNavigatorSaveItem_Click_1(object sender, EventArgs e)
{
this.Validate();
this.tblVarBindingSource.EndEdit();
tblVarTableAdapter.Update(this.dsHatchOpt);
//this.tableAdapterManager.UpdateAll(this.dsHatchOpt);
}
private void tblResBindingNavigatorSaveItem_Click_1(object sender, EventArgs e)
{
this.Validate();
this.tblVarBindingSource.EndEdit();
tblResTableAdapter.Update(this.dsHatchOpt.tblRes);
this.tableAdapterManager.UpdateAll(this.dsHatchOpt);
}
private void frmMain_Load(object sender, EventArgs e)
{
this.tblResTableAdapter.Fill(this.dsHatchOpt.tblRes);
this.tblResTableAdapter.Fill(this.dsHatchOpt.tblRes);
this.tblResTableAdapter.Fill(this.dsHatchOpt.tblRes);
this.tblResTableAdapter.Fill(this.dsHatchOpt.tblRes);
this.tblResTableAdapter.Fill(this.dsHatchOpt.tblRes);
this.tblVarTableAdapter.Fill(this.dsHatchOpt.tblVar);
}