private void fm_custinfo_Load(object sender, EventArgs e)
{
     this.BindingContext[dsInfo, "ta_cust"].Position = currentIndex;
     this.textBox1.DataBindings.Add(new Binding("Text", dsInfo, "ta_cust.custcode"));
     this.textBox3.DataBindings.Add(new Binding("Text", dsInfo, "ta_cust.namec"));
     this.textBox7.DataBindings.Add(new Binding("Text", dsInfo, "ta_cust.custtype"));
     this.textBox2.DataBindings.Add(new Binding("Text", dsInfo, "ta_cust.custproperty"));
     this.textBox5.DataBindings.Add(new Binding("Text", dsInfo, "ta_cust.custindustry"));
     this.textBox6.DataBindings.Add(new Binding("Text", dsInfo, "ta_cust.custrelation"));
     this.textBox9.DataBindings.Add(new Binding("Text", dsInfo, "ta_cust.custtel"));
     this.textBox4.DataBindings.Add(new Binding("Text", dsInfo, "ta_cust.custfax"));
     this.textBox10.DataBindings.Add(new Binding("Text", dsInfo, "ta_cust.city"));
     this.textBox11.DataBindings.Add(new Binding("Text", dsInfo, "ta_cust.area"));
     this.textBox8.DataBindings.Add(new Binding("Text", dsInfo, "ta_cust.postcode"));
     this.textBox12.DataBindings.Add(new Binding("Text", dsInfo, "ta_cust.contactman"));
     this.textBox13.DataBindings.Add(new Binding("Text", dsInfo, "ta_cust.address"));
     this.textBox14.DataBindings.Add(new Binding("Text", dsInfo, "ta_cust.website"));
     this.textBox15.DataBindings.Add(new Binding("Text", dsInfo, "ta_cust.email"));
}private void UpdateData()
{
     this.BindingContext[dsInfo, "ta_cust"].EndCurrentEdit();
     DataSet dsChange = dsInfo.GetChanges();     DataColumn[] keys = new DataColumn[1];
     keys[0] = dsChange.Tables[0].Columns[0];
     dsChange.Tables[0].PrimaryKey = keys;     adp.Update(dsChange, "ta_cust");
     MessageBox.Show("修改成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
前两次开始执行UpdateData()都可以正常弹出"修改成功"的提示,第三次执行这个方法的时候就报错,提示"违反并发性: updatecommand影响了预期 1 条记录中的 0 条";
我在网上看到以下解决方法:
可能的解决方法:1 检查是否设有主键。2 检查更新的字段的原始值是否为空值(原始空值更新时可能会引发此异常)。但我都不存在以上两个问题,麻烦高手们赐教,还有哪些地方可能引发这个问题!~```