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:
 virtual int ExecuteNonQuery();
public override int ExecuteNonQuery ();
public int ExecuteNonQuery ();
override this.ExecuteNonQuery : unit -> int
abstract member ExecuteNonQuery : unit -> int
override this.ExecuteNonQuery : unit -> int
Public Overrides Function ExecuteNonQuery () As Integer
Public Function ExecuteNonQuery () As Integer

Döndürülenler

Etkilenen satır sayısı.

Uygulamalar

Ö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 XmlReaderXml 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 Streamveya 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.

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();
    }
}
Public Sub CreateCommand(ByVal queryString As String, _
  ByVal connectionString As String)
    Using connection As New SqlConnection(connectionString)
        Dim command As New SqlCommand(queryString, connection)
        command.Connection.Open()
        command.ExecuteNonQuery()
    End Using
End Sub

Açıklamalar

katalog işlemlerini gerçekleştirmek (örneğin, veritabanının yapısını sorgulamak veya tablolar gibi veritabanı nesneleri oluşturmak) veya 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

Ayrıca bkz.