cmd.ExecuteScalar()的问题

来源:百度知道 编辑:UC知道 时间:2024/06/17 22:02:32
OracleCommand cmd = conn.CreateCommand();
cmd.CommandText = "select count(*) from bzrpcxt_cc where XH='"+xh+"' ";
if (Convert.ToInt32(cmd.ExecuteScalar()) > 0)
这样返回结果是正常的,我想要的,但如果加一个and的话即
cmd.CommandText = "select count(*) from bzrpcxt_cc where XH='"+xh+"'and XN='"+xn+"' ";却返回了不正常(结果等于0)
这个是什么问题?
重启操作系统后正常了,一头雾水
总之,谢谢大家的回答了!

首先ExecuteScalar只会返回一条数据
除非你有语法错误,否则就是数据库里面没有匹配的数据.

最简单的办法就是,调试然后把SQL语句那到SQL里面去运行看结果.

数据库里有符合xh 相等并且xn 相等的记录

看看xn的长度,看看是不是可变字段,如果不是的话改成是的。

确定数据库存在这样的数据?