判断ExecuteScalar()是否返回结果

ExecuteScalar()返回的是首行首列的值,一般用于执行这类查询

SELECT COUNT(*)FROM TABLE

返回的类型是 OBJECT,如果数据库中没有任何记录时,如何判断呢?以下是方案:

其一、调用Convert的IsDBNull来判断
    object objResult=tempCmd.ExecuteScalar();
     if(objResult!=null && Convert.IsDBNull(objResult))

其二,改变sql语句利用sql中的isnull函数,如下
"select isnull(max(id),0) from employees"如果为空就返回0这个值

这里一个小技巧就是用max来得到值null,因为isnull是当值为null时候触发的,没有记录时候用max就可以将值变为null

另外可以 通过ExecuteNonQuery() 返回一个Int,表示受影响的行数,只对insert,delete,update返回受影响行数
用这个是否为0来判断(这个方法没有试验过)

如果是Access的话,     if(objResult != null &&objResult.ToString() != ""),可能要这么判断才对。我试了下,是这样。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值