OracleDataAdapter.InsertCommand Właściwość

Definicja

Pobiera lub ustawia instrukcję SQL lub procedurę składowaną używaną do wstawiania nowych rekordów do bazy danych.

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

Wartość właściwości

Element OracleCommand używany podczas operacji aktualizacji do wstawiania rekordów w bazie danych, które odpowiadają nowym wierszom w obiekcie DataSet.

Przykłady

Poniższy przykład tworzy obiekt OracleDataAdapter i ustawia SelectCommand właściwości i InsertCommand . Przyjęto założenie, że utworzono OracleConnection już obiekt.

Public Shared Function CreateCustomerAdapter(conn As OracleConnection) As OracleDataAdapter   

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

  ' 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 InsertCommand.  

  cmd = New OracleCommand("INSERT INTO Dept (DeptNo, DName) " & _  
                       "VALUES (:pDeptNo, :pDName)", conn)  

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

  da.InsertCommand = cmd  

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

  // 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 InsertCommand.  

  cmd = new OracleCommand("INSERT INTO Dept (DeptNo, DName) " +  
                       "VALUES (:pDeptNo, :pDName)", conn);  

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

  da.InsertCommand = cmd;  

  return da;  
}  

Uwagi

Gdy właściwość jest przypisana InsertCommand do wcześniej utworzonego OracleCommand obiektu, OracleCommand obiekt nie jest klonowany. InsertCommand Zamiast tego utrzymuje odwołanie do wcześniej utworzonego elementu OracleCommand.

Jeśli podczas operacji aktualizacji nie ustawiono, a InsertCommand w obiekcie znajdują się informacje o kluczu DataSetpodstawowym , możesz użyć OracleCommandBuilder klasy do automatycznego generowania InsertCommandpoleceń i dodatkowych poleceń wymaganych do uzgodnienia z DataSet bazą danych. W tym celu ustaw SelectCommand właściwość OracleDataAdapter. Logika generowania wymaga również obecności informacji o kolumnie klucza w obiekcie DataSet. Aby uzyskać więcej informacji, zobacz Generowanie poleceń za pomocą konstruktorów poleceń.

Uwaga

Jeśli wykonanie tego polecenia zwraca wiersze, te wiersze mogą być dodawane do DataSet elementu w zależności od sposobu ustawiania UpdatedRowSource właściwości OracleCommand obiektu.

Podczas aktualizowania kolumny z LONG RAW typem danych podczas wprowadzania wartości NULL w kolumnie jest zgłaszany wyjątek. Typ danych Oracle LONG RAW jest przestarzałym typem oracle w wersji 8.0. Aby uniknąć tego błędu, użyj BLOB typu danych zamiast LONG RAW.

Dotyczy

Zobacz też