Compartilhar via


OracleDataAdapter.InsertCommand Propriedade

Definição

Obtém ou define uma instrução SQL ou um procedimento armazenado usado para inserir novos registros no banco de dados.

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

Valor da propriedade

Um OracleCommand usado durante uma operação de atualização para inserir registros no banco de dados que corresponde às novas linhas no DataSet.

Exemplos

O exemplo a seguir cria um OracleDataAdapter e define as SelectCommand propriedades e InsertCommand . Ele pressupõe que você já tenha criado um OracleConnection objeto .

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

Comentários

Quando a InsertCommand propriedade é atribuída a um objeto criado OracleCommand anteriormente, o OracleCommand não é clonado. Em vez disso, InsertCommand mantém uma referência ao criado OracleCommandanteriormente.

Durante uma operação de atualização, se InsertCommand não estiver definido e as informações de chave primária estiverem presentes no DataSet, você poderá usar a OracleCommandBuilder classe para gerar InsertCommandautomaticamente e comandos adicionais necessários para reconciliar o DataSet com o banco de dados. Para fazer isso, defina a SelectCommand propriedade do OracleDataAdapter. A lógica de geração também exige que as informações de coluna de chave estejam presentes no DataSet. Para obter mais informações, consulte Gerando comandos com CommandBuilders.

Observação

Se a execução desse comando retornar linhas, essas linhas poderão ser adicionadas ao DataSet dependendo de como você definir a UpdatedRowSource propriedade do OracleCommand objeto.

Quando você atualiza uma coluna com o LONG RAW tipo de dados, uma exceção é gerada quando você insere um valor de NULL na coluna. O tipo de dados Oracle LONG RAW é um tipo preterido no Oracle versão 8.0. Para evitar esse erro, use o BLOB tipo de dados em vez de LONG RAW.

Aplica-se a

Confira também