文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>奇怪了。单步调试抛主键冲突异常。直接运行是正常的

奇怪了。单步调试抛主键冲突异常。直接运行是正常的

时间:2010-10-08  来源:菜鸟都不容易

问题描述:
这个sql放到plsql里可以正常执行,但是放到程序里执行的时候,我单步调试执行的时候,运行stmt.executeUpdate();这句的时候,就会抛出主键冲突的异常.奇怪的是,我如果直接运行程序,就可以正常执行。不会抛出任何异常
sql = "insert into B(Country_ID,CREATE_DATE,DATA_TIMES,COUNTRY_NAME, DATA_DATE) 
Select t.country_id,t.create_time,'"+ Data_Times+ "', t.country_name,'"+ Data_Date+ "' from f_country t";
log.info("执行sql-- " + sql + " ---");
stmt = conntect.prepareStatement(sql);
stmt.executeUpdate();

解决:

我在调试的时候watch了一个expression是stmt.executeUpdate()。所以每次单步调试到stmt = conntect.prepareStatement(sql);这句的时候,eclipse就运行stmt.executeUpdate()并返回表里受影响的行数.这个时候我继续单步执行下一句,也就是stmt.executeUpdate()。那么肯定会提示主键冲突。因为执行了两遍stmt.executeUpdate()语句。

这就是为啥我单步调试抛主键冲突异常,而直接运行的时候不抛的原因。。
这种问题真是晕死了。
相关阅读 更多 +
排行榜 更多 +
谷歌卫星地图免费版下载

谷歌卫星地图免费版下载

生活实用 下载
谷歌卫星地图免费版下载

谷歌卫星地图免费版下载

生活实用 下载
kingsofpool官方正版下载

kingsofpool官方正版下载

赛车竞速 下载