OracleDataAdapter.UpdateCommand Свойство

Определение

Возвращает или задает инструкцию SQL или хранимую процедуру, используемую для обновления записей в базе данных.Gets or sets an SQL statement or stored procedure used to update records in the database.

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.An OracleCommand used during an update operation to update records in the database that correspond to modified rows in the DataSet.

Примеры

В следующем примере создается OracleDataAdapter и задаются свойства SelectCommand и UpdateCommand.The following example creates an OracleDataAdapter and sets the SelectCommand and UpdateCommand properties. Предполагается, что вы уже создали объект OracleConnection.It assumes you have already created an OracleConnection object.

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 не клонируется.When UpdateCommand is assigned to a previously created OracleCommand, the OracleCommand is not cloned. Вместо этого UpdateCommand сохраняет ссылку на ранее созданный объект OracleCommand.Instead, the UpdateCommand maintains a reference to the previously created OracleCommand object.

Если в ходе операции обновления InsertCommand не задана и сведения о первичном ключе содержатся в наборе данных, можно использовать класс OracleCommandBuilder для автоматического создания InsertCommandи дополнительные команды, необходимые для согласования DataSet с базой данных.During an update operation, if InsertCommand is not set and primary key information is present in the DataSet, you can use the OracleCommandBuilder class to automatically generate InsertCommand, and additional commands needed to reconcile the DataSet to the database. Для этого задайте свойство SelectCommand OracleDataAdapter.To do this, set the SelectCommand property of the OracleDataAdapter. Логика создания также требует, чтобы сведения о ключевом столбце присутствовали в DataSet.The generation logic also requires key column information to be present in the DataSet. Дополнительные сведения см. в разделе Создание команд с помощью коммандбуилдерс.For more information see Generating Commands with CommandBuilders.

Примечание

Если выполнение этой команды возвращает строки, эти строки могут быть объединены с DataSet в зависимости от того, как задано свойство UpdatedRowSource объекта OracleCommand.If execution of this command returns rows, these rows may be merged with the DataSet depending upon how you set the UpdatedRowSource property of the OracleCommand object.

При обновлении столбца с LONG RAW типом данных создается исключение при вводе значения NULL в столбце.When you update a column with the LONG RAW data type, an exception is thrown when you enter a value of NULL in the column. Тип данных Oracle LONG RAW является устаревшим типом в Oracle версии 8,0.The Oracle LONG RAW data type is a deprecated type in Oracle version 8.0. Чтобы избежать этой ошибки, используйте BLOB тип данных вместо LONG RAW.To avoid this error, use the BLOB data type instead of LONG RAW.

Применяется к

Дополнительно