Sdílet prostřednictvím


OracleDataAdapter.InsertCommand Vlastnost

Definice

Získá nebo nastaví příkaz SQL nebo uloženou proceduru, která se používá k vložení nových záznamů do databáze.

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

Hodnota vlastnosti

Používá OracleCommand se během operace aktualizace k vložení záznamů do databáze, které odpovídají novým řádkům v objektu DataSet.

Příklady

Následující příklad vytvoří OracleDataAdapter a nastaví SelectCommand vlastnosti a InsertCommand . Předpokládá, že jste již vytvořili OracleConnection objekt.

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;  
}  

Poznámky

InsertCommand Pokud je vlastnost přiřazena dříve vytvořenému OracleCommand objektuOracleCommand, není klonován. Místo toho InsertCommand udržuje odkaz na dříve vytvořený OracleCommandobjekt .

Pokud během operace InsertCommand aktualizace není nastavena a informace o primárním klíči DataSetjsou k dispozici v , můžete použít OracleCommandBuilder třídu k automatickému vygenerování InsertCommanda další příkazy potřebné k odsouhlasení DataSet s databází. Chcete-li to provést, nastavte SelectCommand vlastnost objektu OracleDataAdapter. Logika generování také vyžaduje, aby informace o klíčovém sloupci DataSetbyly v . Další informace najdete v tématu Generování příkazů pomocí CommandBuilders.

Poznámka

Pokud spuštění tohoto příkazu vrátí řádky, mohou být tyto řádky přidány do objektu DataSet v závislosti na tom, jak nastavíte UpdatedRowSource vlastnost objektu OracleCommand .

Když aktualizujete sloupec datovým LONG RAW typem, při zadání hodnoty NULL do sloupce dojde k výjimce. Datový typ Oracle LONG RAW je zastaralý typ v Oracle verze 8.0. Chcete-li se této chybě vyhnout, použijte BLOB datový typ místo LONG RAW.

Platí pro

Viz také