IDbCommand.ExecuteScalar Methode

Definition

Führt die Abfrage aus und gibt die erste Spalte der ersten Zeile im Resultset zurück, das durch die Abfrage zurückgegeben wird. Zusätzliche Spalten oder Zeilen werden ignoriert.

public:
 System::Object ^ ExecuteScalar();
public object? ExecuteScalar ();
public object ExecuteScalar ();
abstract member ExecuteScalar : unit -> obj
Public Function ExecuteScalar () As Object

Gibt zurück

Object

Die erste Spalte der ersten Zeile im Resultset.

Beispiele

Im folgenden Beispiel wird eine Instanz der abgeleiteten Klasse SqlCommanderstellt und anschließend mithilfe ExecuteScalarvon . Das Beispiel wird eine Zeichenfolge übergeben, die eine Transact-SQL-Anweisung ist, die ein Aggregatergebnis zurückgibt, und eine Zeichenfolge, die zum Herstellen einer Verbindung mit der Datenquelle verwendet werden soll.

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

Hinweise

Verwenden Sie die ExecuteScalar Methode, um einen einzelnen Wert (z. B. einen Aggregatwert) aus einer Datenbank abzurufen. Dies erfordert weniger Code als die Verwendung der ExecuteReader Methode, und führen Sie dann die erforderlichen Vorgänge aus, um den einzelnen Wert mithilfe der von einem .IDataReader

Eine typische ExecuteScalar Abfrage kann wie im folgenden C#-Beispiel formatiert werden:

CommandText = "select count(*) as NumberOfRegions from region";  
Int32 count = (int) ExecuteScalar();  

Wenn die erste Spalte der ersten Zeile im Resultset nicht gefunden wird, wird ein Nullverweis (Nothingin Visual Basic) zurückgegeben. Wenn der Wert in der Datenbank lautet null, gibt die Abfrage zurück DBNull.Value.

Gilt für