OracleDataAdapter.InsertCommand Propiedad

Definición

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

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

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

Ejemplos

En el ejemplo siguiente se crea y OracleDataAdapter se establecen las SelectCommand propiedades y InsertCommand . 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  

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

Comentarios

Cuando la InsertCommand propiedad se asigna a un objeto creado OracleCommand anteriormente, OracleCommand no se clona. En su lugar, InsertCommand mantiene una referencia a la clase creada OracleCommandanteriormente.

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 agregar a DataSet según 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