没有想到先是这个对象ExcuteScalar
ExcuteScalar();
返回单个值(查询返回的结果集中第一行的第一列)
我的业务是
有个设备请求我的网站,请求post的数据是(设备ID)
我的网站拿着设备ID去,数据库中查找。
于是,我这个方法ExcuteScalar,写了有聚合函数的sql,返回的第一行第一列是0(按说是要大于0的)
因为是聚合函数的sql,所以第一行第一列是有值的。
(PS,ExcuteScalar返回是Object类型,所以查找的结果集第一行第一列没有值的话,返回的Object是什么?null吗?)
(PS,所以ExcuteScalar最好是用聚合函数sql的执行,这样返回的结果集第一行第一列,是有值的,不会返回null)
按照ADO.NET的推荐用法,有参数的sql要使用SqlParameter,结果我使用有参数的这中方式,得到的第一行第一列是0(按照应该是大于0的数字)
问题是因为:
是 select Count(1) from table where deviceId='@deviceId';不能加''(单引号)
select Count(1) from table where deviceId=@deviceId;这样是正确返回结果的sql语句
查看到这个哥们问题反映,感谢
https://bbs.csdn.net/topics/230030943

浙公网安备 33010602011771号