Delen via


Eén waarde verkrijgen uit een database

Van toepassing op: .NET Framework .NET Standard

ADO.NET downloaden

Mogelijk moet u databasegegevens retourneren die slechts één waarde zijn in plaats van in de vorm van een tabel of gegevensstroom. U kunt bijvoorbeeld het resultaat van een statistische functie retourneren, zoals COUNT(*), SUM(Price) of AVG(Quantity). Het opdrachtobject biedt de mogelijkheid om enkelvoudige waarden te retourneren met behulp van de methode ExecuteScalar . De methode ExecuteScalar retourneert, als scalaire waarde, de waarde van de eerste kolom van de eerste rij van de resultatenset.

Example

In het volgende codevoorbeeld wordt een nieuwe waarde in de database ingevoegd met behulp van een SqlCommand. De ExecuteScalar methode wordt gebruikt om de waarde van de identiteitskolom van de toegevoegde record terug te geven.

static public int AddProductCategory(string newName, string connString)
{
    Int32 newProdID = 0;
    string sql =
        "INSERT INTO Production.ProductCategory (Name) VALUES (@Name); "
        + "SELECT CAST(scope_identity() AS int)";
    using (SqlConnection conn = new SqlConnection(connString))
    {
        SqlCommand cmd = new SqlCommand(sql, conn);
        cmd.Parameters.Add("@Name", SqlDbType.VarChar);
        cmd.Parameters["@name"].Value = newName;
        try
        {
            conn.Open();
            newProdID = (Int32)cmd.ExecuteScalar();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
    }
    return (int)newProdID;
}

Zie ook