C# ExecuteScalar()方法案例讲解

执行查询,并返回查询所返回的结果集中第一行的第一列。所有其他的列和行将被忽略。 1、返回的是一个object类型,也就是说是所有数据类型的基类,可根据selec

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

1、返回的是一个object类型,也就是说是所有数据类型的基类,可根据select所得的第一列的数据类型转换为对应的数据类型

例:

string strConn = "Data Source=(local);Initial Catalog=paperManage;Integrated Security=True";
SQLConnection objConn = new SQLconnection(strConn);
SQLCommand objCMD = new SQLCommand(strSQL,objConn);
object objResult = objCMD.ExecuteScalar() //或者 string result = objCMD.ExecuteScalar().toString();

2、当select语句无记录返回时,ExecuteScalar()返回NULL值,无法再将null值赋给任何对象或者变量,否则出现异常:System.NullReferenceException:   未将对象引用设置到对象的实例

例:

若select查询无返回记录,以下代码则会抛出异常:

try
{
   string result = objCMD.ExecuteScalar().toString();
}
catch(SQLException ee)
{
   MessageBox.show(ee.toString());
}

解决方法是先判断ExecuteScalar()是否为null,再进行相应的处理。

例:

if (objCMD.ExecuteScalar() == null) {
    //为空时的操作
} else {
    result = objCMD.ExecuteScalar().ToString().Trim();
}

使用 ExecuteScalar() 方法从数据库中检索单个值(例如一个聚合值)。

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

cmd.CommandText = "SELECT COUNT(*) FROM dbo.region";
Int32 count = (Int32) cmd.ExecuteScalar();

到此这篇关于C# ExecuteScalar()方法案例讲解的文章就介绍到这了,更多相关C# ExecuteScalar()方法内容请搜索好代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好代码网!

标签: C ExecuteScalar()