Bagikan melalui


Memperbarui Data di Sumber Data

Pernyataan SQL yang mengubah data (seperti INSERT, UPDATE, atau DELETE) tidak mengembalikan baris. Demikian pula, banyak prosedur tersimpan melakukan tindakan tetapi tidak mengembalikan baris data. Untuk menjalankan perintah yang tidak mengembalikan baris, buat objek Perintah dengan perintah SQL yang sesuai dan Koneksi, termasuk Parameter yang diperlukan. Jalankan perintah dengan metode ExecuteNonQuery dari objek Perintah .

Metode ExecuteNonQuery mengembalikan bilangan bulat yang mewakili jumlah baris yang terpengaruh oleh pernyataan atau prosedur tersimpan yang dijalankan. Jika beberapa perintah dijalankan, nilai yang dikembalikan adalah total catatan yang terpengaruh oleh semua perintah yang dijalankan.

Contoh

Contoh kode berikut menjalankan pernyataan INSERT untuk menyisipkan rekaman ke dalam database menggunakan ExecuteNonQuery.

' Assumes connection is a valid SqlConnection.  
connection.Open()  
  
Dim queryString As String = "INSERT INTO Customers " & _  
  "(CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')"  
  
Dim command As SqlCommand = New SqlCommand(queryString, connection)  
Dim recordsAffected As Int32 = command.ExecuteNonQuery()  
// Assumes connection is a valid SqlConnection.  
connection.Open();  
  
string queryString = "INSERT INTO Customers " +  
  "(CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')";  
  
SqlCommand command = new SqlCommand(queryString, connection);  
Int32 recordsAffected = command.ExecuteNonQuery();  

Contoh kode berikut menjalankan prosedur tersimpan yang dibuat oleh kode sampel dalam Melakukan Operasi Katalog. Tidak ada baris yang dikembalikan oleh prosedur tersimpan, sehingga metode ExecuteNonQuery digunakan, tetapi prosedur tersimpan memang menerima parameter input dan mengembalikan parameter output dan nilai pengembalian.

OleDbCommand Untuk objek , parameter ReturnValue harus ditambahkan ke koleksi Parameter terlebih dahulu.

' Assumes connection is a valid SqlConnection.  
Dim command As SqlCommand = _  
   New SqlCommand("InsertCategory" , connection)  
command.CommandType = CommandType.StoredProcedure  
  
Dim parameter As SqlParameter = _  
 command.Parameters.Add("@RowCount", SqlDbType.Int)  
parameter.Direction = ParameterDirection.ReturnValue  
  
parameter = command.Parameters.Add( _  
  "@CategoryName", SqlDbType.NChar, 15)  
  
parameter = command.Parameters.Add("@Identity", SqlDbType.Int)  
parameter.Direction = ParameterDirection.Output  
  
command.Parameters("@CategoryName").Value = "New Category"  
command.ExecuteNonQuery()  
  
Dim categoryID As Int32 = CInt(command.Parameters("@Identity").Value)  
Dim rowCount As Int32 = CInt(command.Parameters("@RowCount").Value)
// Assumes connection is a valid SqlConnection.  
SqlCommand command = new SqlCommand("InsertCategory" , connection);  
command.CommandType = CommandType.StoredProcedure;  
  
SqlParameter parameter = command.Parameters.Add(  
  "@RowCount", SqlDbType.Int);  
parameter.Direction = ParameterDirection.ReturnValue;  
  
parameter = command.Parameters.Add(  
  "@CategoryName", SqlDbType.NChar, 15);  
  
parameter = command.Parameters.Add("@Identity", SqlDbType.Int);  
parameter.Direction = ParameterDirection.Output;  
  
command.Parameters["@CategoryName"].Value = "New Category";  
command.ExecuteNonQuery();  
  
Int32 categoryID = (Int32) command.Parameters["@Identity"].Value;  
Int32 rowCount = (Int32) command.Parameters["@RowCount"].Value;  

Lihat juga