SqlCommand.ExecuteScalar 方法

 

SqlCommand.ExecuteScalar 方法

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

[Visual Basic]
Public Overridable Function ExecuteScalar() As Object Implements _
   IDbCommand.ExecuteScalar
[C#]
public virtual object ExecuteScalar();
[C++]
public: virtual Object* ExecuteScalar();
[JScript]
public function ExecuteScalar() : Object;

返回值

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

实现

IDbCommand.ExecuteScalar

异常

异常类型 条件
SqlException 在对锁定的行执行该命令期间发生了异常。如果使用 Microsoft .NET Framework 1.0 版,则不会发生该异常。

备注

使用 ExecuteScalar 方法从数据库中检索单个值(例如一个聚合值)。与使用 ExecuteReader 方法,然后使用 SqlDataReader 返回的数据执行生成单个值所需的操作相比,此操作需要的代码较少。

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

cmd.CommandText = "select count(*) from region";
Int32 count = (int32) cmd.ExecuteScalar();

示例

[Visual Basic, C#, C++] 以下示例创建一个 SqlCommand,然后使用 ExecuteScalar 执行它。为该示例传递两个字符串:一个是返回聚合结果的 Transact-SQL 语句,另一个用于连接到数据源。

[Visual Basic] 
Public Sub CreateMySqlCommand(myScalarQuery As String, myConnection As SqlConnection)
    Dim myCommand As New SqlCommand(myScalarQuery, myConnection)
    myCommand.Connection.Open()
    myCommand.ExecuteScalar()
    myConnection.Close()
End Sub 'CreateMySqlCommand

[C#] 
public void CreateMySqlCommand(string myScalarQuery, SqlConnection myConnection) 
 {
    SqlCommand myCommand = new SqlCommand(myScalarQuery, myConnection);
    myCommand.Connection.Open();
    myCommand.ExecuteScalar();
    myConnection.Close();
 }

[C++] 
public:
    void CreateMySqlCommand(String* myScalarQuery, SqlConnection* myConnection)
    {
        SqlCommand* myCommand = new SqlCommand(myScalarQuery, myConnection);
        myCommand->Connection->Open();
        myCommand->ExecuteScalar();
        myConnection->Close();
    }

你可能感兴趣的:(.net)