更新一个数据库出现更新错误的问题 用一个事务,中间执行一个delete操作删除所有纪录和一个insert操作插入一些新的纪录,一般情况下执行结果都对;但是有时出现一个奇怪的现象,更新的结果中纪录总是重复的一条或者几条,很多,但是都重复。不知道可能是什么情况呢???另外,更新的过程中可能有其他的程序在读取该表。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可能你在delete的时候别人正在读取,所以没有delete成功,然后又insert进去就重复了 try{cmd.executeNonQuery()}catch(Exception e){trans.rollback();}没有catch到exception,应该是执行成功了吧 你的表结构是不是建的不好,或者主键设计的有问题。另外可以在SQL语句层面(使用存储过程)和ado.net层面使用SqlTransation来处理事物。 try { cmd.executeNonQuery() ;trans.commite(); //加上这一句吧} catch(Exception e) { trans.rollback(); } 代码就这样嘛,可能还差点东西 吧,//trans.commite(); C# 隐藏页面真实地址是如何实现的 请问如何在强类型的dataset中加入一列映射?详细内容帖子里。 Session为什么会出现短命? 请教处于不同NAT背后的主机怎样用TcpChannel相互连接?问题解决就结帖,在线等…… 求助:我做的windows服务程序为什么没有效果呢。 C#用winrar使用相对路径没能成功? .net的一些小知识,希望大家有时间充实它。 需要C#下的串口编程资料或者代码。 如何检索字符串 通用控件如何引WinForm上的资源? XP下难道没有IIS。 VS2005编译时出错,求解
{
cmd.executeNonQuery()
}
catch(Exception e)
{
trans.rollback();
}
没有catch到exception,应该是执行成功了吧
{
cmd.executeNonQuery() ;
trans.commite(); //加上这一句吧
}
catch(Exception e)
{
trans.rollback();
}
代码就这样嘛,可能还差点东西 吧,//trans.commite();