Share via


SqlCommand.ExecuteNonQuery Metode

Definisi

Menjalankan pernyataan Transact-SQL terhadap koneksi dan mengembalikan jumlah baris yang terpengaruh.

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

Mengembalikan

Jumlah baris yang terpengaruh.

Penerapan

Pengecualian

Selain SqlDbTypeBiner atau VarBinary digunakan ketika Value diatur ke Stream. Untuk informasi selengkapnya tentang streaming, lihat Dukungan Streaming SqlClient.

-atau-

Selain SqlDbTypeChar, NChar, NVarChar, VarChar, atau Xml digunakan saat Value diatur ke TextReader.

-atau-

Selain SqlDbTypeXml digunakan ketika Value diatur ke XmlReader.

Terjadi pengecualian saat menjalankan perintah terhadap baris terkunci. Pengecualian ini tidak dihasilkan saat Anda menggunakan Microsoft .NET Framework versi 1.0.

-atau-

Waktu habis terjadi selama operasi streaming. Untuk informasi selengkapnya tentang streaming, lihat Dukungan Streaming SqlClient.

Terjadi kesalahan dalam Streamobjek , XmlReader atau TextReader selama operasi streaming. Untuk informasi selengkapnya tentang streaming, lihat Dukungan Streaming SqlClient.

Ditutup SqlConnection atau dihilangkan selama operasi streaming. Untuk informasi selengkapnya tentang streaming, lihat Dukungan Streaming SqlClient.

Objek Stream, XmlReader atau TextReader ditutup selama operasi streaming. Untuk informasi selengkapnya tentang streaming, lihat Dukungan Streaming SqlClient.

Contoh

Contoh berikut membuat SqlCommand lalu menjalankannya menggunakan ExecuteNonQuery. Contohnya diteruskan string yang merupakan pernyataan Transact-SQL (seperti UPDATE, INSERT, atau DELETE) dan string yang digunakan untuk menyambungkan ke sumber data.

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

Keterangan

Anda bisa menggunakan ExecuteNonQuery untuk melakukan operasi katalog (misalnya, mengkueri struktur database atau membuat objek database seperti tabel), atau untuk mengubah data dalam database tanpa menggunakan DataSet dengan menjalankan pernyataan UPDATE, INSERT, atau DELETE.

ExecuteNonQuery Meskipun tidak mengembalikan baris, parameter output atau nilai pengembalian apa pun yang dipetakan ke parameter diisi dengan data.

Untuk pernyataan UPDATE, INSERT, dan DELETE, nilai yang dikembalikan adalah jumlah baris yang terpengaruh oleh perintah. Untuk semua jenis pernyataan lainnya, nilai yang dikembalikan adalah -1.

Saat pemicu ada pada tabel yang disisipkan atau diperbarui, nilai yang dikembalikan menyertakan jumlah baris yang terpengaruh oleh operasi sisipkan atau perbarui dan jumlah baris yang terpengaruh oleh pemicu atau pemicu.

Ketika SET NOCOUNT ON diatur pada koneksi (sebelum atau sebagai bagian dari menjalankan perintah, atau sebagai bagian dari pemicu yang dimulai oleh eksekusi perintah) baris yang dipengaruhi oleh pernyataan individual berhenti berkontribusi pada jumlah baris yang terpengaruh yang dikembalikan oleh metode ini.

Jika tidak ada pernyataan yang terdeteksi yang berkontribusi pada hitungan, nilai yang dikembalikan adalah -1. Jika pembatalan terjadi, nilai yang dikembalikan juga -1.

Berlaku untuk

Lihat juga