读书人

C# 违反并发性 deletecommand影响了预

发布时间: 2012-12-28 10:29:05 作者: rapoo

C# 违反并发性 deletecommand影响了预期1条记录中的0条 我急死了
我是C#连接ACCESS,我表中有主键,删掉了自动编号。
运行后,出现了C# 违反并发性 deletecommand影响了预期1条记录中的0条。
我怎么都找不出,原因在哪里。求帮忙。


private void btnDel_Click(object sender, EventArgs e)//删除
{
try
{
strSelect = "DELETE FROM " + BiaoMingID + " WHERE '红点名字'='" + redname + "'";

OpenAccess(strSelect, 2);//打开连接
string xuanze = "Select * from " + BiaoMingID;//BiaoMingID 里存着表的名字
adObj = new OleDbDataAdapter(xuanze, oleCon);
adObj.DeleteCommand = myCommand;//myCommand = new OleDbCommand(strSelect, oleCon);
adObj.Fill(mydataset, BiaoMingID);
DataTable mydatatable = mydataset.Tables[BiaoMingID];
if (mydatatable.Rows.Count != 0)//如果行的总数不等于0
{
for (int n = 0; n < mydatatable.Rows.Count; n++)
{
if (mydatatable.Rows[n][8].ToString() == (kongjian as Button).Name)
{
mydatatable.Rows[n].Delete();
adObj.Update(mydataset, BiaoMingID);//这个错误。。违反并发性: DeleteCommand 影响了预期 1 条记录中的 0 条。
mydataset.AcceptChanges();
MessageBox.Show("此记录删除成功");

break;


}
}

}
}
catch (Exception eee)
{
MessageBox.Show(eee.ToString());
}
finally
{
mydataset.Clear();
oleCon.Close();
}
ctrlEnable(0);//禁用相应的控件
ctrlEnable(3);//启用图片框
a = 0;//最后记得将a的值重新归位0,表示小红点指向事件重新生效
}


[最优解释]
违反并发性: DeleteCommand 影响了预期1 条记录中的0 条
Update(ds);
ds.AcceptChanges();
检查是否设有主键
DeleteCommand的问题:检查是否含有自动编号字段
UpdateCommand的问题:检查更新的字段的原始值是否为空值

[其他解释]
自己顶自己,我好急,真的好急。~~
到mydataset.update这里出错的。
[其他解释]
没人来帮我吗?
[其他解释]
不是,是到adobj.update这里出错的
[其他解释]
我表中设置了主键。并且把自动编号删除了
[其他解释]
在mydataset.update之前加
mydatatable.Dispose();
mydatatable = new DataTable();
adObj.Fill(mydatatable );
[其他解释]
楼上真可以吗,在update之前mydatatable 重新实例化之后 都为空了 ,更新是不会出错了,但真正更新了吗
[其他解释]
http://hi.baidu.com/hyyly520/item/bcde6838f6ecf8f896f88da3
[其他解释]
应该能帮你解决你遇到的这个问题

读书人网 >C#

热点推荐