Aracılığıyla paylaş


SqlCommand.ExecuteNonQuery Yöntem

Tanım

Bağlantı üzerinde bir Transact-SQL deyimi yürütür ve etkilenen satır sayısını döndürür.

public:
 override int ExecuteNonQuery();
public override int ExecuteNonQuery();
override this.ExecuteNonQuery : unit -> int
Public Overrides Function ExecuteNonQuery () As Integer

Döndürülenler

Etkilenen satır sayısı.

Ö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ış 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.

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.

, 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 ExecuteNonQueryyürütür. Örnekte Transact-SQL deyimi (UPDATE, INSERT veya DELETE gibi) olan bir dize ve veri kaynağına bağlanmak için kullanılacak bir dize geçirilir.

// <Snippet1>
using System;
using System.Data;
using Microsoft.Data.SqlClient;

namespace SqlCommandCS
{
    class Program
    {
        static void Main()
        {
            string str = "Data Source=(local);Initial Catalog=Northwind;"
                + "Integrated Security=SSPI";
            string qs = "SELECT OrderID, CustomerID FROM dbo.Orders;";
            CreateCommand(qs, str);
        }
        private static void CreateCommand(string queryString,
            string connectionString)
        {
            using (SqlConnection connection = new SqlConnection(
                       connectionString))
            {
                SqlCommand command = new SqlCommand(queryString, connection);
                command.Connection.Open();
                command.ExecuteNonQuery();
            }
        }
    }
}
// </Snippet1>

Açıklamalar

katalog işlemlerini gerçekleştirmek (örneğin, veritabanının yapısını sorgulamak veya tablolar gibi veritabanı nesneleri oluşturmak) ya da UPDATE, INSERT veya DELETE deyimlerini yürüterek veritabanındaki verileri kullanmadan DataSet değiştirmek için kullanabilirsinizExecuteNonQuery.

hiçbir satır döndürmese ExecuteNonQuery de, parametrelere eşlenen tüm çıkış parametreleri veya dönüş değerleri verilerle doldurulur.

UPDATE, INSERT ve DELETE deyimleri için döndürülen değer, komutun etkilediği satır sayısıdır. Diğer tüm deyim türleri için dönüş değeri -1'dir. Eklenen veya güncelleştirilen bir tabloda tetikleyici olduğunda, dönüş değeri hem ekleme veya güncelleştirme işleminden etkilenen satır sayısını hem de tetikleyiciden veya tetikleyicilerden etkilenen satır sayısını içerir. Bağlantıda SET NOCOUNT ON ayarlandığında (komutu yürütmeden önce veya bir parçası olarak ya da komutun yürütülmesiyle başlatılan bir tetikleyicinin parçası olarak), tek tek deyimlerden etkilenen satırlar, bu yöntem tarafından döndürülen etkilenen satırların sayısına katkıda bulunmayı durdurur. Sayıya katkıda bulunan hiçbir deyim algılanırsa, dönüş değeri -1 olur. Geri alma gerçekleşirse, dönüş değeri de -1 olur.

Şunlara uygulanır