zoukankan      html  css  js  c++  java
  • 判断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.ToString() != ""),可能要这么判断才对。我试了下,是这样。

  • 相关阅读:
    太湖杯WriteUp
    第九届网安竞赛writeup
    湖湘杯2020 writeup
    利用DNS缓存和TLS协议将受限SSRF变为通用SSRF
    十月学习计划
    2020GACTF部分wp
    2020 天翼杯 部分wp
    DASCTF 安恒七月赛wp
    开发步骤
    垃圾收集器与内存分配策略
  • 原文地址:https://www.cnblogs.com/zxjyuan/p/1298452.html
Copyright © 2011-2022 走看看