SqlCommand.ExecuteScalar Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Sorguyu yürütür ve sorgu tarafından döndürülen sonuç kümesindeki ilk satırın ilk sütununu döndürür. Ek sütunlar veya satırlar yoksayılır.
public:
override System::Object ^ ExecuteScalar();
public override object ExecuteScalar();
override this.ExecuteScalar : unit -> obj
Public Overrides Function ExecuteScalar () As Object
Döndürülenler
Sonuç kümesindeki ilk satırın ilk sütunu veya sonuç kümesi boşsa null başvuru ( Nothing Visual Basic'te). En fazla 2033 karakter döndürür.
Özel durumlar
SqlDbType olarak ayarlandığında Streamİkili veya VarBinary dışında bir değer kullanıldıValue. Akış hakkında daha fazla bilgi için bkz . SqlClient Akış Desteği.
-veya-
SqlDbType olarak ayarlandığında TextReaderChar, NChar, NVarChar, VarChar veya Xml dışında bir değer kullanıldıValue.
-veya-
olarak ayarlandığında XmlReader Xml dışında bir SqlDbType değer kullanıldıValue.
Kilitli bir satırda komut yürütülürken bir özel durum oluştu. Bu özel durum, Microsoft .NET Framework sürüm 1.0 kullanırken oluşturulmaz.
-veya-
Akış işlemi sırasında zaman aşımı oluştu. Akış hakkında daha fazla bilgi için bkz . SqlClient Akış Desteği.
Akış SqlConnection işlemi sırasında kapatılan veya bırakılan. Akış hakkında daha fazla bilgi için bkz . SqlClient Akış Desteği.
Akış işlemi sırasında bir Stream veya XmlReaderTextReader nesnesinde hata oluştu. Akış hakkında daha fazla bilgi için bkz . SqlClient Akış Desteği.
, StreamXmlReader veya TextReader nesnesi bir akış işlemi sırasında kapatıldı. Akış hakkında daha fazla bilgi için bkz . SqlClient Akış Desteği.
Örnekler
Aşağıdaki örnek bir SqlCommand oluşturur ve kullanarak ExecuteScalaryürütür. Örnekte, tabloya eklenecek yeni değeri temsil eden bir dize ve veri kaynağına bağlanmak için kullanılacak bir dize geçirilir. yeni bir satır eklenirse işlev yeni Identity sütun değerini döndürür, hata durumunda 0.
using System;
using System.Data;
using Microsoft.Data.SqlClient;
public class Sample
{
public void CreateSqlCommand(
string queryString, SqlConnection connection)
{
SqlCommand command = new
SqlCommand(queryString, connection);
command.Connection.Open();
command.ExecuteScalar();
connection.Close();
}
Açıklamalar
Veritabanından ExecuteScalar tek bir değer (örneğin, bir toplama değeri) almak için yöntemini kullanın. Bunun için yöntemini kullanmaktan ExecuteReader daha az kod gerekir ve ardından tek değeri oluşturmak için gereken işlemleri bir SqlDataReadertarafından döndürülen verileri kullanarak gerçekleştirmeniz gerekir.
Tipik ExecuteScalar bir sorgu aşağıdaki C# örneğinde olduğu gibi biçimlendirilebilir:
cmd.CommandText = "SELECT COUNT(*) FROM dbo.region";
Int32 count = (Int32) cmd.ExecuteScalar();