Share via


OracleDataAdapter.UpdateCommand Properti

Definisi

Mendapatkan atau mengatur pernyataan SQL atau prosedur tersimpan yang digunakan untuk memperbarui rekaman dalam database.

public:
 property System::Data::OracleClient::OracleCommand ^ UpdateCommand { System::Data::OracleClient::OracleCommand ^ get(); void set(System::Data::OracleClient::OracleCommand ^ value); };
public System.Data.OracleClient.OracleCommand UpdateCommand { get; set; }
member this.UpdateCommand : System.Data.OracleClient.OracleCommand with get, set
Public Property UpdateCommand As OracleCommand

Nilai Properti

Digunakan OracleCommand selama operasi pembaruan untuk memperbarui rekaman dalam database yang sesuai dengan baris yang dimodifikasi di DataSet.

Contoh

Contoh berikut membuat OracleDataAdapter dan mengatur SelectCommand properti dan UpdateCommand . Ini mengasumsikan Anda telah membuat OracleConnection objek.

Public Shared Function CreateCustomerAdapter(conn As OracleConnection) As OracleDataAdapter   

  Dim da As OracleDataAdapter = New OracleDataAdapter()  
  Dim cmd As OracleCommand  
  Dim parm As OracleParameter  

  ' Create the SelectCommand.  

  cmd = New OracleCommand("SELECT * FROM Dept " & _  
                       "WHERE DName = pDName AND Loc = pLoc", conn)  

  cmd.Parameters.Add("pDName", OracleType.NVarChar, 14)  
  cmd.Parameters.Add("pLoc", OracleType.NVarChar, 13)  

  da.SelectCommand = cmd  

  ' Create the UpdateCommand.  

  cmd = New OracleCommand("UPDATE Dept SET DeptNo = pDeptNo, DName = pDName " & _  
                       "WHERE DeptNo = poldDeptNo", conn)  

  cmd.Parameters.Add("pDeptNo", OracleType.Number, 2, "DeptNo")  
  cmd.Parameters.Add("pDName", OracleType.NVarChar, 14, "DName")  

  parm = cmd.Parameters.Add("poldDeptNo", OracleType.Number, 2, "DeptNo")  
  parm.SourceVersion = DataRowVersion.Original  

  da.UpdateCommand = cmd  

  Return da  
End Function  
public static OracleDataAdapter CreateCustomerAdapter(OracleConnection conn)  
{  
  OracleDataAdapter da = new OracleDataAdapter();  
  OracleCommand cmd;  
  OracleParameter parm;  

  // Create the SelectCommand.  

  cmd = new OracleCommand("SELECT * FROM Dept " +  
                       "WHERE DName = pDName AND Loc = pLoc", conn);  

  cmd.Parameters.Add("pDName", OracleType.NVarChar, 14);  
  cmd.Parameters.Add("pLoc", OracleType.NVarChar, 13);  

  da.SelectCommand = cmd;  

  // Create the UpdateCommand.  

  cmd = new OracleCommand("UPDATE Dept SET DeptNo = pDeptNo, DName = pDName " +  
                       "WHERE DeptNo = poldDeptNo", conn);  

  cmd.Parameters.Add("pDeptNo", OracleType.Number, 2, "DeptNo");  
  cmd.Parameters.Add("pDName", OracleType.NVarChar, 14, "DName");  

  parm = cmd.Parameters.Add("poldDeptNo", OracleType.Number, 2, "DeptNo");  
  parm.SourceVersion = DataRowVersion.Original;  

  da.UpdateCommand = cmd;  

  return da;  
}  

Keterangan

Ketika UpdateCommand ditetapkan ke yang dibuat OracleCommandsebelumnya , OracleCommand tidak dikloning. Sebaliknya, UpdateCommand mempertahankan referensi ke objek yang dibuat OracleCommand sebelumnya.

Selama operasi pembaruan, jika InsertCommand tidak diatur dan informasi kunci utama ada di Himpunan Data, Anda dapat menggunakan OracleCommandBuilder kelas untuk secara otomatis menghasilkan InsertCommand, dan perintah tambahan yang diperlukan untuk mendamaikan DataSet ke database. Untuk melakukan ini, atur SelectCommand properti dari OracleDataAdapter. Logika pembuatan juga memerlukan informasi kolom kunci untuk hadir di DataSet. Untuk informasi selengkapnya lihat Membuat Perintah dengan CommandBuilders.

Catatan

Jika eksekusi perintah ini mengembalikan baris, baris ini dapat digabungkan dengan DataSet tergantung pada cara Anda mengatur UpdatedRowSource properti OracleCommand objek.

Saat Anda memperbarui kolom dengan LONG RAW jenis data, pengecualian akan ditampilkan saat Anda memasukkan nilai NULL dalam kolom. Jenis data Oracle LONG RAW adalah jenis yang tidak digunakan lagi di Oracle versi 8.0. Untuk menghindari kesalahan ini, gunakan BLOB jenis data alih-alih LONG RAW.

Berlaku untuk

Lihat juga