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 检查更新的字段的原始值是否为空值(原始空值更新时可能会引发此异常)。但我都不存在以上两个问题,麻烦高手们赐教,还有哪些地方可能引发这个问题!~```
{
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 检查更新的字段的原始值是否为空值(原始空值更新时可能会引发此异常)。但我都不存在以上两个问题,麻烦高手们赐教,还有哪些地方可能引发这个问题!~```
updatecommand里的where语句,比照数据库