OracleDataAdapter.UpdateCommand Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia instrukcję SQL lub procedurę składowaną używaną do aktualizowania rekordów w bazie danych.
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
Wartość właściwości
Element OracleCommand używany podczas operacji aktualizacji do aktualizowania rekordów w bazie danych, które odpowiadają zmodyfikowanym wierszom w obiekcie DataSet.
Przykłady
Poniższy przykład tworzy obiekt OracleDataAdapter i ustawia SelectCommand właściwości i UpdateCommand . Przyjęto założenie, że utworzono OracleConnection już obiekt.
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;
}
Uwagi
Gdy UpdateCommand element jest przypisany do utworzonego wcześniej elementu OracleCommand, OracleCommand element nie jest klonowany. Zamiast tego obiekt UpdateCommand obsługuje odwołanie do wcześniej utworzonego OracleCommand obiektu.
Jeśli podczas operacji aktualizacji nie ustawiono i InsertCommand w zestawie danych znajdują się informacje o kluczu podstawowym, możesz użyć OracleCommandBuilder klasy do automatycznego generowania InsertCommandpoleceń i dodatkowych poleceń wymaganych do uzgodnienia DataSet bazy danych. W tym celu ustaw SelectCommand właściwość OracleDataAdapter. Logika generowania wymaga również obecności informacji o kolumnie klucza w obiekcie DataSet. Aby uzyskać więcej informacji, zobacz Generowanie poleceń za pomocą konstruktorów poleceń.
Uwaga
Jeśli wykonanie tego polecenia zwraca wiersze, te wiersze mogą być scalane z właściwością DataSet w zależności od sposobu ustawiania UpdatedRowSource właściwości OracleCommand obiektu.
Podczas aktualizowania kolumny z LONG RAW
typem danych podczas wprowadzania wartości NULL
w kolumnie jest zgłaszany wyjątek. Typ danych Oracle LONG RAW
jest przestarzałym typem oracle w wersji 8.0. Aby uniknąć tego błędu, użyj BLOB
typu danych zamiast LONG RAW
.