OracleDataAdapter.UpdateCommand 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定用來在資料庫中更新資料錄的 SQL 陳述式或預存程序。
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
屬性值
OracleCommand,用來在更新作業期間更新資料庫中的資料錄,這些資料錄對應至 DataSet 中已修改的資料列。
範例
下列範例會 OracleDataAdapter 建立 並設定 SelectCommand 和 UpdateCommand 屬性。 它假設您已經建立 OracleConnection 物件。
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;
}
備註
當 指定先前建立OracleCommand的時UpdateCommand,OracleCommand不會複製 。 相反地,會 UpdateCommand 維護先前建立 OracleCommand 對象的參考。
在更新作業期間,如果未 InsertCommand 設定,而且 DataSet 中有主鍵資訊,您可以使用 OracleCommandBuilder 類別自動產生 InsertCommand,以及協調資料庫所需的 DataSet 其他命令。 若要這樣做,請設定 SelectCommand 的 OracleDataAdapter屬性。 產生邏輯也需要在 中 DataSet出現索引鍵數據行資訊。 如需詳細資訊,請參閱 使用 CommandBuilders 產生命令。
注意
如果執行此命令傳回數據列,這些數據列可能會與 DataSet 合併,視您設定 UpdatedRowSource 對象的屬性 OracleCommand 而定。
當您使用 LONG RAW
數據類型更新數據行時,當您在數據行中輸入的值 NULL
時,就會擲回例外狀況。 Oracle 數據類型是 Oracle LONG RAW
8.0 版中已被取代的類型。 若要避免這個錯誤,請使用 BLOB
資料類型,而不是 LONG RAW
。