Compartir a través de


OracleDataAdapter.UpdateCommand Propiedad

Definición

Obtiene o establece la instrucción SQL o el procedimiento almacenado utilizado para actualizar registros de la base de datos.

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 de propiedad

OracleCommand que se utiliza durante una operación de actualización para actualizar en la base de datos los registros correspondientes a las filas modificadas en DataSet.

Ejemplos

En el ejemplo siguiente se crea y OracleDataAdapter se establecen las SelectCommand propiedades y UpdateCommand . Se supone que ya ha creado un 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;  
}  

Comentarios

Cuando UpdateCommand se asigna a un objeto creado OracleCommandanteriormente, OracleCommand no se clona. En su lugar, mantiene UpdateCommand una referencia al objeto creado OracleCommand anteriormente.

Durante una operación de actualización, si InsertCommand no se establece y la información de clave principal está presente en dataSet, puede usar la OracleCommandBuilder clase para generar InsertCommandautomáticamente y comandos adicionales necesarios para conciliar con DataSet la base de datos. Para ello, establezca la SelectCommand propiedad de OracleDataAdapter. La lógica de generación también requiere que la información de columna de clave esté presente en .DataSet Para obtener más información, vea Generar comandos con CommandBuilders.

Nota

Si la ejecución de este comando devuelve filas, estas filas se pueden combinar con en DataSet función de cómo establezca la UpdatedRowSource propiedad del OracleCommand objeto.

Al actualizar una columna con el LONG RAW tipo de datos, se produce una excepción al escribir un valor de NULL en la columna. El tipo de datos de Oracle LONG RAW es un tipo en desuso en oracle versión 8.0. Para evitar este error, use el BLOB tipo de datos en lugar de LONG RAW.

Se aplica a

Consulte también