OracleDataAdapter.UpdateCommand Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví příkaz SQL nebo uloženou proceduru sloužící k aktualizaci záznamů v databázi.
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
Hodnota vlastnosti
Používá OracleCommand se během operace aktualizace k aktualizaci záznamů v databázi, které odpovídají upraveným řádkům v objektu DataSet.
Příklady
Následující příklad vytvoří OracleDataAdapter a nastaví SelectCommand vlastnosti a UpdateCommand . Předpokládá, že jste již vytvořili OracleConnection objekt.
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;
}
Poznámky
Pokud UpdateCommand je přiřazen k dříve vytvořenému OracleCommandobjektu OracleCommand , není klonován. Místo toho UpdateCommand udržuje odkaz na dříve vytvořený OracleCommand objekt.
Pokud během operace InsertCommand aktualizace není nastavena a informace o primárním klíči jsou k dispozici v sadě DataSet, můžete použít OracleCommandBuilder třídu k automatickému vygenerování InsertCommanda další příkazy potřebné k odsouhlasení DataSet s databází. Chcete-li to provést, nastavte SelectCommand vlastnost objektu OracleDataAdapter. Logika generování také vyžaduje, aby informace o klíčovém sloupci DataSetbyly v . Další informace najdete v tématu Generování příkazů pomocí CommandBuilders.
Poznámka
Pokud spuštění tohoto příkazu vrátí řádky, mohou být tyto řádky sloučeny s DataSet v závislosti na tom, jak nastavíte UpdatedRowSource vlastnost objektu OracleCommand .
Když aktualizujete sloupec datovým LONG RAW
typem, při zadání hodnoty NULL
do sloupce dojde k výjimce. Datový typ Oracle LONG RAW
je zastaralý typ v Oracle verze 8.0. Chcete-li se této chybě vyhnout, použijte BLOB
datový typ místo LONG RAW
.