OracleDataAdapter.UpdateCommand Propriedade

Definição

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

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

Valor da propriedade

OracleCommand

Um OracleCommand usado durante uma operação de atualização para atualizar registros no banco de dados que correspondem às linhas modificadas no DataSet.

Exemplos

O exemplo a seguir cria um OracleDataAdapter e define SelectCommand as UpdateCommand Propriedades e. Ele pressupõe que você já criou um OracleConnection objeto.

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

Comentários

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

Durante uma operação de atualização, se InsertCommand não estiver definido e as informações de chave primária estiverem presentes no conjunto de dados, você poderá usar a OracleCommandBuilder classe para gerar automaticamente InsertCommand e os comandos adicionais necessários para reconciliar o DataSet para o Database. Para fazer isso, defina a SelectCommand Propriedade do OracleDataAdapter . A lógica de geração também requer que 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 mescladas com o DataSet dependendo de como você definiu a UpdatedRowSource Propriedade do OracleCommand objeto.

Quando você atualiza uma coluna com o LONG RAW tipo de dados, uma exceção é lançada quando você insere um valor de NULL na coluna. O LONG RAW tipo de dados Oracle é 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