Aracılığıyla paylaş


Komut yürütme

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

ADO.NET indirin

SQL Server için Microsoft SqlClient Veri Sağlayıcısının, SqlCommand öğesinden devralan bir DbCommand nesnesi vardır. Bu nesne, aşağıdaki tabloda açıklandığı gibi komut türüne ve istenen dönüş değerine göre komutları yürütmek için yöntemleri kullanıma sunar.

Command Dönüş Değeri
ExecuteReader Bir DataReader nesne döndürür.
ExecuteScalar Tek bir skaler değer döndürür.
ExecuteNonQuery Satır döndürmeyen bir komut yürütür.
ExecuteXMLReader bir XmlReaderdöndürür. Yalnızca bir SqlCommand nesne için kullanılabilir.

Kesin olarak yazılan her komut nesnesi, aşağıdaki tabloda açıklandığı gibi bir CommandType komut dizesinin nasıl yorumlandığını belirten bir numaralandırmayı da destekler.

CommandType Description
Text Veri kaynağında yürütülecek ifadeleri tanımlayan bir SQL komutu.
StoredProcedure Saklı yordamın adı. Giriş ve çıkış parametrelerine erişmek ve hangi Parameters yöntemin çağrıldığından bağımsız olarak değer döndürmek için komutun özelliğini kullanabilirsinizExecute.
TableDirect Tablonun adı.

Önemli

ExecuteReader kullanılırken, dönüş değerlerine ve çıkış parametrelerine, DataReader kapatılana kadar erişilemez.

Example

Aşağıdaki kod örneği, özelliklerini ayarlayarak saklı yordamı yürütmek üzere bir SqlCommand nesnenin nasıl oluşturulacağını gösterir. SqlParameter Saklı yordamın giriş parametresini belirtmek için bir nesne kullanılır. Komut, ExecuteReader yöntemi kullanılarak yürütülür ve çıktı SqlDataReader'den elde edilerek konsol penceresinde görüntülenir.

static void GetSalesByCategory(string connectionString,
    string categoryName)
{
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        // Create the command and set its properties.
        SqlCommand command = new SqlCommand();
        command.Connection = connection;
        command.CommandText = "SalesByCategory";
        command.CommandType = CommandType.StoredProcedure;

        // Add the input parameter and set its properties.
        SqlParameter parameter = new SqlParameter();
        parameter.ParameterName = "@CategoryName";
        parameter.SqlDbType = SqlDbType.NVarChar;
        parameter.Direction = ParameterDirection.Input;
        parameter.Value = categoryName;

        // Add the parameter to the Parameters collection.
        command.Parameters.Add(parameter);

        // Open the connection and execute the reader.
        connection.Open();
        using (SqlDataReader reader = command.ExecuteReader())
        {
            if (reader.HasRows)
            {
                while (reader.Read())
                {
                    Console.WriteLine("{0}: {1:C}", reader[0], reader[1]);
                }
            }
            else
            {
                Console.WriteLine("No rows found.");
            }
            reader.Close();
        }
    }
}

Sorun giderme komutları

SQL Server için Microsoft SqlClient Veri Sağlayıcısı, başarısız komut yürütmeleriyle ilgili aralıklı sorunları algılamanızı sağlamak için tanılama sayaçları ekler. Daha fazla bilgi için bkz. SqlClient'da tanılama sayaçları.

Ayrıca bakınız