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 и задаются 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 зависимости от того, как задано UpdatedRowSourceOracleCommand свойство объекта .
При обновлении столбца с типом LONG RAW
данных при вводе значения NULL
в столбец возникает исключение. Тип данных Oracle LONG RAW
является устаревшим в Oracle версии 8.0. Чтобы избежать этой ошибки, используйте BLOB
тип данных вместо LONG RAW
.