Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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.
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.
public static int AddProductCategory(string newName, string connString)
{
var newProdID = 0;
const string sql =
"INSERT INTO Production.ProductCategory (Name) VALUES (@Name); "
+ "SELECT CAST(scope_identity() AS int)";
using (SqlConnection conn = new(connString))
{
SqlCommand cmd = new(sql, conn);
cmd.Parameters.Add("@Name", SqlDbType.VarChar);
cmd.Parameters["@name"].Value = newName;
try
{
conn.Open();
newProdID = (int)cmd.ExecuteScalar();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
return newProdID;
}
Public Function AddProductCategory( _
ByVal newName As String, ByVal connString As String) As Integer
Dim newProdID As Int32 = 0
Dim sql As String = _
"INSERT INTO Production.ProductCategory (Name) VALUES (@Name); " _
& "SELECT CAST(scope_identity() AS int);"
Using conn As New SqlConnection(connString)
Dim cmd As New SqlCommand(sql, conn)
cmd.Parameters.Add("@Name", SqlDbType.VarChar)
cmd.Parameters("@Name").Value = newName
Try
conn.Open()
newProdID = Convert.ToInt32(cmd.ExecuteScalar())
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
End Using
Return newProdID
End Function