zoukankan      html  css  js  c++  java
  • ExecuteScalar 返回值问题

    ExecuteScalar 返回值问题

    DbCommand.ExecuteScalar 方法:


    执行查询,并返回查询所返回的结果集中第一行的第一列。 所有其他的列和行将被忽略。

    语法: public abstract Object ExecuteScalar()

    返回值: 类型: System.Object,结果集中第一行的第一列。

    备注: 使用 ExecuteScalar 方法从数据库中检索单个值(例如一个聚合值)。 与使用 ExecuteReader 方
    法然后使用 DbDataReader 返回的数据执行生成单个值所需的操作相比,此操作需要的代码较少。如果找不
    到结果集中第一行的第一列;则返回 null 引用(在 Visual Basic 中为 Nothing)。 如果数据库中的该
    值为 null,此查询将返回 DBNull.Value。

    对于查询单个字段,不包括函数的 select 语句,例如 select a字段 from 表A ,如果不存在值,
    DbCommand.ExecuteScalar 方法的返回值是 null,调用者需要使用 result == null 来判断。


    对于使用函数的select 语句,例如select sum(a字段) from 表A,如果不存在值,
    DbCommand.ExceuteScalar 方法的返回值是 DBNull.Value,调用者需要用 result is DBNull 或者 result
    == DBNull.Value 来判断。


    对 ADO.NET 的 DbCommand.ExecuteScalar 方法的调用者来说,要注意根据所使用的 SQL 语句来选择使用
    result == null 还是使用 result is DBNull 来判断查询结果是否为空。如果使用 result == null ||
    result is DBNull 来判断查询结果是否为空就更保险了,能够适应这两种 SQL 语句的写法,但是运行效率
    会有所降低。

  • 相关阅读:
    [板子]用线段树解决ST表问题
    [POJ2528]Mayor's posters(离散化+线段树)
    [板子]Kruskal
    [板子]segTree
    js实现工具函数中groupBy数据分组
    关于爬虫
    jsencrypt vue相关的rsa加密
    less 循环模拟sass的for循环效果
    vue 自动生成菜单
    vue中form 表单常用校验封装(async-validator)
  • 原文地址:https://www.cnblogs.com/flyingZFX/p/4775102.html
Copyright © 2011-2022 走看看