IDbDataAdapter.UpdateCommand Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает оператор SQL для обновления записей в источнике данных.
public:
property System::Data::IDbCommand ^ UpdateCommand { System::Data::IDbCommand ^ get(); void set(System::Data::IDbCommand ^ value); };
public System.Data.IDbCommand? UpdateCommand { get; set; }
public System.Data.IDbCommand UpdateCommand { get; set; }
member this.UpdateCommand : System.Data.IDbCommand with get, set
Public Property UpdateCommand As IDbCommand
Значение свойства
Интерфейс IDbCommand, используемый во время применения метода Update(DataSet) для обновления записей в источнике данных, соответствующих измененным строкам в наборе данных.
Примеры
В следующем примере создается экземпляр наследуемого OleDbDataAdapter класса и задаются SelectCommand свойства и UpdateCommand . Предполагается, что вы уже создали OleDbConnection объект .
private static OleDbDataAdapter CreateCustomerAdapter(
OleDbConnection connection)
{
OleDbDataAdapter dataAdapter = new OleDbDataAdapter();
OleDbCommand command;
OleDbParameter parameter;
// Create the SelectCommand.
command = new OleDbCommand("SELECT * FROM dbo.Customers " +
"WHERE Country = ? AND City = ?", connection);
command.Parameters.Add("Country", OleDbType.VarChar, 15);
command.Parameters.Add("City", OleDbType.VarChar, 15);
dataAdapter.SelectCommand = command;
// Create the UpdateCommand.
command = new OleDbCommand(
"UPDATE dbo.Customers SET CustomerID = ?, CompanyName = ? " +
"WHERE CustomerID = ?", connection);
command.Parameters.Add(
"CustomerID", OleDbType.Char, 5, "CustomerID");
command.Parameters.Add(
"CompanyName", OleDbType.VarChar, 40, "CompanyName");
parameter = command.Parameters.Add(
"oldCustomerID", OleDbType.Char, 5, "CustomerID");
parameter.SourceVersion = DataRowVersion.Original;
dataAdapter.UpdateCommand = command;
return dataAdapter;
}
Private Function CreateCustomerAdapter( _
ByVal connection As OleDbConnection) As OleDbDataAdapter
Dim dataAdapter As New OleDbDataAdapter()
Dim command As OleDbCommand
Dim parameter As OleDbParameter
' Create the SelectCommand.
command = New OleDbCommand("SELECT * FROM dbo.Customers " & _
"WHERE Country = ? AND City = ?", connection)
command.Parameters.Add("Country", OleDbType.VarChar, 15)
command.Parameters.Add("City", OleDbType.VarChar, 15)
dataAdapter.SelectCommand = command
' Create the UpdateCommand.
command = New OleDbCommand("UPDATE dbo.Customers " & _
"SET CustomerID = ?, CompanyName = ? " & _
"WHERE CustomerID = ?", connection)
command.Parameters.Add( _
"CustomerID", OleDbType.Char, 5, "CustomerID")
command.Parameters.Add( _
"CompanyName", OleDbType.VarChar, 40, "CompanyName")
parameter = command.Parameters.Add( _
"oldCustomerID", OleDbType.Char, 5, "CustomerID")
parameter.SourceVersion = DataRowVersion.Original
dataAdapter.UpdateCommand = command
Return dataAdapter
End Function
Комментарии
Если Updateэто свойство не задано, а сведения о первичном ключе присутствуют в DataSet, UpdateCommand можно создать автоматически, если задано SelectCommand
свойство поставщика данных платформа .NET Framework. Затем все дополнительные команды, которые не заданы, создаются CommandBuilder. Для этой логики создания требуется, чтобы сведения о ключевом столбце присутствовали DataSetв . Дополнительные сведения см. в разделе Создание команд с помощью CommandBuilders.
При UpdateCommand назначении ранее созданному IDbCommandобъекту IDbCommand не клонируется. объект UpdateCommand сохраняет ссылку на ранее созданный IDbCommand объект .
Примечание
Если выполнение этой команды возвращает строки, эти строки добавляются в DataSet.