首页 新闻 搜索 专区 学院

在调用方法updateCmd.ExecuteNonQuery()执行更新语句时不报错误也不执行

0
[已解决问题] 解决于 2017-12-07 10:01

OracleConnection oracleConnection = new OracleConnection(jbdcConnectionString);
oracleConnection.Open();

string updateSql = "update tco_msg_send set send_flag = 1 where send_content = '针对tset”事件'";
OracleCommand updateCmd = new OracleCommand(updateSql, oracleConnection);

int i = updateCmd.ExecuteNonQuery();
if (i > 0)
{
sb.Append("更新状态:rownum为" + id + "的消息状态已更新\r\n\r\n");
}
else
{
sb.Append("更新状态:rownum为" + id + "的消息状态未更新或已不存在\r\n\r\n");
}

oracleConnection.Close();

琴声的主页 琴声 | 初学一级 | 园豆:147
提问于:2017-12-06 15:30
< >
分享
最佳答案
0

没毛病。

... ...

奖励园豆:5
花飘水流兮 | 专家六级 |园豆:13299 | 2017-12-06 15:38

实际上代码就有问题啊

琴声 | 园豆:147 (初学一级) | 2017-12-06 15:45
其他回答(2)
0

代码没毛病。

1、先不管程序代码,直接到数据库中跑下你的SQL语句,看看情况。

    update tco_msg_send set send_flag = 1 where send_content = '针对tset”事件'

2、断点,调试

西漠以西 | 园豆:1675 (小虾三级) | 2017-12-06 16:27

这条sql语句我执行过了是正确的。跑的通

支持(0) 反对(0) 琴声 | 园豆:147 (初学一级) | 2017-12-06 16:54

@琴声: 我说的“看看情况”是指,在数据库跑这个SQL。看它更新了几条记录。

支持(0) 反对(0) 西漠以西 | 园豆:1675 (小虾三级) | 2017-12-06 17:04

@西漠以西: 

一条啊;在数据库能正常执行。

除了sql的原因还有其他原因吗?

支持(0) 反对(0) 琴声 | 园豆:147 (初学一级) | 2017-12-06 17:16
0

这个问题的主要原因是要执行的表被锁死了,代码不能操作被执行的表,

解决办法:到数据库中吧执行窗口关闭就可以了。

经过再次调试确实没有了这种问题。

可参考文章:http://blog.csdn.net/fc201166/article/details/52211710

琴声 | 园豆:147 (初学一级) | 2017-12-07 10:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册