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;
}
注解
当 UpdateCommand 分配给之前创建的 OracleCommand时, OracleCommand 不会克隆 。 相反, 维护 UpdateCommand 对以前创建的 OracleCommand 对象的引用。
在更新操作期间,如果未 InsertCommand 设置 ,并且 DataSet 中存在主键信息,则可以使用 OracleCommandBuilder 类自动生成 InsertCommand,以及将 协调 DataSet 到数据库所需的其他命令。 为此,请设置 SelectCommand 的 OracleDataAdapter属性。 生成逻辑还要求键列信息存在于 中 DataSet。 有关详细信息,请参阅 使用 CommandBuilders 生成命令。
注意
如果此命令的执行返回行,则这些行可能会与 合并, DataSet 具体取决于设置 UpdatedRowSource 对象的 属性 OracleCommand 的方式。
使用 LONG RAW
数据类型更新列时,在列中输入 值 NULL
时会引发异常。 Oracle LONG RAW
数据类型是 Oracle 版本 8.0 中已弃用的类型。 若要避免此错误,请使用 BLOB
数据类型而不是 LONG RAW
。