OracleDataAdapter.UpdateCommand Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta un'istruzione SQL o una stored procedure utilizzata per aggiornare record nel database.
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
Valore della proprietà
Oggetto OracleCommand utilizzato durante un'operazione di aggiornamento per aggiornare i record nel database che corrispondono alle righe modificate nell'oggetto DataSet.
Esempio
Nell'esempio seguente viene creato un oggetto OracleDataAdapter e vengono impostate le SelectCommand proprietà e UpdateCommand . Presuppone che sia già stato creato un OracleConnection oggetto.
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;
}
Commenti
Quando UpdateCommand viene assegnato a un oggetto creato OracleCommandin precedenza, l'oggetto OracleCommand non viene clonato. Mantiene invece UpdateCommand un riferimento all'oggetto creato OracleCommand in precedenza.
Durante un'operazione di aggiornamento, se InsertCommand non sono impostate e le informazioni sulla chiave primaria sono presenti nel DataSet, è possibile usare la OracleCommandBuilder classe per generare InsertCommandautomaticamente e comandi aggiuntivi necessari per riconciliare il DataSet database. A tale scopo, impostare la SelectCommand proprietà dell'oggetto OracleDataAdapter. La logica di generazione richiede inoltre che le informazioni sulla colonna chiave siano presenti in DataSet. Per altre informazioni, vedere Generazione di comandi con CommandBuilders.
Nota
Se l'esecuzione di questo comando restituisce righe, queste righe possono essere unite a DataSet seconda della modalità di impostazione UpdatedRowSource della proprietà dell'oggetto OracleCommand .
Quando si aggiorna una colonna con il LONG RAW
tipo di dati, viene generata un'eccezione quando si immette un valore di NULL
nella colonna. Il tipo di dati Oracle LONG RAW
è un tipo deprecato in Oracle versione 8.0. Per evitare questo errore, usare il BLOB
tipo di LONG RAW
dati anziché .