OracleDataAdapter.UpdateCommand 属性

定义

获取或设置用于在数据库中更新记录的 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 设置 SelectCommandUpdateCommand 属性。 它假定你已创建对象 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 到数据库所需的其他命令。 为此,请设置 SelectCommandOracleDataAdapter属性。 生成逻辑还要求键列信息存在于 中 DataSet。 有关详细信息,请参阅 使用 CommandBuilders 生成命令

注意

如果此命令的执行返回行,则这些行可能会与 合并, DataSet 具体取决于设置 UpdatedRowSource 对象的 属性 OracleCommand 的方式。

使用 LONG RAW 数据类型更新列时,在列中输入 值 NULL 时会引发异常。 Oracle LONG RAW 数据类型是 Oracle 版本 8.0 中已弃用的类型。 若要避免此错误,请使用 BLOB 数据类型而不是 LONG RAW

适用于

另请参阅