博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ExecuteScalar 返回值问题
阅读量:6265 次
发布时间:2019-06-22

本文共 908 字,大约阅读时间需要 3 分钟。

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 语句的写法,但是运行效率
会有所降低。

转载于:https://www.cnblogs.com/flyingZFX/p/4775102.html

你可能感兴趣的文章
SpringMVC----@CookieValue绑定请求中的Cookie值
查看>>
AsyncTask
查看>>
nginx和flask安装与配置
查看>>
java多线程(1)
查看>>
JS 防抖函数和节流函数
查看>>
win-Linux文件脚本迁移过程中的问题 syntax error: unexpected end of file
查看>>
java攻城狮之路--复习JDBC(PrepareStatement)
查看>>
Java学习之HttpClient的GET与POST请求
查看>>
PHP表单提交验证各种方式
查看>>
ASP.net获取当前页面的文件名,参数,域名等方法
查看>>
Java反射内部类
查看>>
vxlan和vlan数据报文
查看>>
jQuery中其他
查看>>
(十四) Java B2B2C多用户商城 springboot架构- Spring Cloud构建分布式电子商务平台
查看>>
Spss统计描述分析
查看>>
快排-C语言实现
查看>>
Oracle11完全卸载方法
查看>>
实例变量和属性(转)
查看>>
HTML笔记
查看>>
php7安装步骤
查看>>