SQL_ExecuteScalar ()

来源:互联网 发布:mac截图后图在哪里 编辑:程序博客网 时间:2024/06/07 02:51

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

返回值为结果集中第一行的第一列或空引用(如果结果集为空)。

使用 ExecuteScalar 方法从数据库中检索单个值(例如一个聚合值)。因为不用创建行集、查找值并关闭行集,所以这样所产生的系统开销非常小。与使用 ExecuteReader 方法,然后使用 SqlDataReader 返回的数据执行生成单个值所需的操作相比,此操作需要的代码较少。

 

典型的 ExecuteScalar 查询可以采用类似于下面的 C# 示例的格式:

 cmd.CommandText = "SELECT COUNT(*) FROM dbo.region";  //① Int32 count = (Int32) cmd.ExecuteScalar();       //②
 观察上述两条语句,分析有可能出现的异常 ,即 Select 语句中有可能为NULL 或没有数据的情况
 在此说明一下, 数据库中NULL 说明行数为一,没有数据 说明行数为零 两者是有明显区别的。
 此处解决如何NULL的问题 
 通常有N中方式  
 因为 ExecuteScalar()函数返回的是Object类型的数据
 所以:
 object obj = comm.ExecuteScalar();
if(obj == System.DBNull .Value)
{
    MessageBox.Show("Result Is Null");
}
使用System.DBNull.Value来判断是否为NULL