delete事件出错,,高手帮忙违反并发性: DeleteCommand 影响了预期 1 条记录中的 0 条。

wowchina0752 2009-11-27 10:52:59
private void btndelete_Click(object sender, EventArgs e)
{
//SQL中删除语句
string sqldelete = "Delete from PsInfo where Id= @Id";


//初始化deletecommand
sqlda.DeleteCommand = new SqlCommand(sqldelete, con);


//声明参数并制定数据库的列和版本
p = sqlda.DeleteCommand.Parameters.Add("@Id", SqlDbType.VarChar);
p.SourceColumn = "Id";
p.SourceVersion = DataRowVersion.Original;


//初始化DialogResult
dr = MessageBox.Show("您确定要删除当前记录吗?", "确定", MessageBoxButtons.YesNo, MessageBoxIcon.Question);


//如果给出肯定的相应,则删除
if (dr == DialogResult.Yes)
{
try
{
//确定选定的行
ds.Tables[0].Rows[dataGridView1.CurrentRow.Index].Delete();
sqlda.Update(ds, "PsInfo"); //这个错误。。违反并发性: DeleteCommand 影响了预期 1 条记录中的 0 条。
MessageBox.Show("删除成功");
}
catch (SqlException ex)
{
//显示错误信息
MessageBox.Show(ex.Message);
}
}
else
{
return;
}
}
...全文
398 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
szyjp 2009-11-27
  • 打赏
  • 举报
回复
sqlda.Update(ds, "PsInfo"); 这一句之前加上下面这一句:
SqlCommandBuilder Builder = new SqlCommandBuilder(sqlda);

widelysea 2009-11-27
  • 打赏
  • 举报
回复
先删除数据库里面的数据
wowchina0752 2009-11-27
  • 打赏
  • 举报
回复
我设置了主键了的
波导终结者 2009-11-27
  • 打赏
  • 举报
回复
自己写的DeleteCommand ?
你先看看ID那一列有没有设为主键
ljhcy99 2009-11-27
  • 打赏
  • 举报
回复
先删除DB数据,然后再重新fill你的dataset不行么
wowchina0752 2009-11-27
  • 打赏
  • 举报
回复
SqlCommandBuilder Builder = new SqlCommandBuilder(sqlda);
sqlda.Update(ds, "PsInfo"); 这一句之前加上下面这一句:


不懂
wuyq11 2009-11-27
  • 打赏
  • 举报
回复
DeleteCommand的问题:检查是否含有自动编号字段
更新数据集的时候,前面的记录更新时是否修改了后面的记录,后面的记录再来更新时,导致出错。
检查是否设有主键。
检查更新的字段的原始值是否为空值
adapter实现数据更新

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧