OracleDataAdapter.InsertCommand Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
.