IDbCommand.ExecuteScalar Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Executes the query, and returns the first column of the first row in the resultset returned by the query. Extra columns or rows are ignored.
public:
System::Object ^ ExecuteScalar();
public object? ExecuteScalar ();
public object ExecuteScalar ();
abstract member ExecuteScalar : unit -> obj
Public Function ExecuteScalar () As Object
Returns
The first column of the first row in the resultset.
Examples
The following example creates an instance of the derived class, SqlCommand, and then executes it using ExecuteScalar. The example is passed a string that is a Transact-SQL statement that returns an aggregate result, and a string to use to connect to the data source.
public void CreateSqlCommand(
string queryString, SqlConnection connection)
{
SqlCommand command = new
SqlCommand(queryString, connection);
command.Connection.Open();
command.ExecuteScalar();
connection.Close();
}
Public Sub CreateSqlCommand( _
queryString As String, connection As SqlConnection)
Dim command As New SqlCommand(queryString, connection)
command.Connection.Open()
command.ExecuteScalar()
connection.Close()
End Sub
Remarks
Use the ExecuteScalar method to retrieve a single value (for example, an aggregate value) from a database. This requires less code than using the ExecuteReader method, and then performing the operations necessary to generate the single value using the data returned by an IDataReader.
A typical ExecuteScalar query can be formatted as in the following C# example:
CommandText = "select count(*) as NumberOfRegions from region";
Int32 count = (int) ExecuteScalar();
If the first column of the first row in the result set is not found, a null reference (Nothing
in Visual Basic) is returned. If the value in the database is null
, the query returns DBNull.Value
.