Aracılığıyla paylaş


Veritabanından tek bir değer alma

Şunlar için geçerlidir: .NET Framework .NET .NET Standard

ADO.NET indirin

Tablo veya veri akışı yerine yalnızca tek bir değer olan veritabanı bilgilerini döndürmeniz gerekebilir. Örneğin COUNT(*), SUM(Price) veya AVG(Quantity) gibi bir toplama işlevinin sonucunu döndürmek isteyebilirsiniz. Command nesnesi ExecuteScalar yöntemini kullanarak tek değerler döndürme özelliği sağlar. ExecuteScalar yöntemi, skaler değer olarak sonuç kümesinin ilk satırının ilk sütununun değerini döndürür.

Example

Aşağıdaki kod örneği, bir SqlCommand kullanarak veritabanına yeni bir değer ekler. ExecuteScalar yöntemi, eklenen kaydın kimlik sütun değerini döndürmek için kullanılır.

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;
}

Ayrıca bakınız