Поделиться через


OleDbDataAdapter Класс

Определение

Представляет набор команд данных и подключения к базе данных, которые используются для заполнения DataSet и обновления источника данных.

public ref class OleDbDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable
public ref class OleDbDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable, System::Data::IDbDataAdapter
public ref class OleDbDataAdapter sealed : System::Data::Common::DbDataAdapter
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("OleDbConnection is not AOT-compatible.")]
public sealed class OleDbDataAdapter : System.Data.Common.DbDataAdapter, ICloneable
public sealed class OleDbDataAdapter : System.Data.Common.DbDataAdapter, ICloneable, System.Data.IDbDataAdapter
public sealed class OleDbDataAdapter : System.Data.Common.DbDataAdapter, ICloneable
public sealed class OleDbDataAdapter : System.Data.Common.DbDataAdapter
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("OleDbConnection is not AOT-compatible.")>]
type OleDbDataAdapter = class
    inherit DbDataAdapter
    interface IDataAdapter
    interface IDbDataAdapter
    interface ICloneable
type OleDbDataAdapter = class
    inherit DbDataAdapter
    interface IDbDataAdapter
    interface IDataAdapter
    interface ICloneable
type OleDbDataAdapter = class
    inherit DbDataAdapter
    interface IDataAdapter
    interface IDbDataAdapter
    interface ICloneable
Public NotInheritable Class OleDbDataAdapter
Inherits DbDataAdapter
Implements ICloneable
Public NotInheritable Class OleDbDataAdapter
Inherits DbDataAdapter
Implements ICloneable, IDbDataAdapter
Public NotInheritable Class OleDbDataAdapter
Inherits DbDataAdapter
Наследование
Атрибуты
Реализации

Примеры

В следующем примере используются OleDbCommandOleDbDataAdapterOleDbConnectionзаписи и записи из источника данных Access и заполнение DataSet выделенными строками. Затем возвращается заполнение DataSet . Для этого метод передает инициализированную DataSet, строку подключения и строку запроса, которая является инструкцией SQL SELECT.

public static OleDbDataAdapter CreateDataAdapter(string selectCommand,
    OleDbConnection connection)
{
    OleDbDataAdapter adapter = new OleDbDataAdapter(selectCommand, connection);

    adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;

    // Create the Insert, Update and Delete commands.
    adapter.InsertCommand = new OleDbCommand(
        "INSERT INTO Customers (CustomerID, CompanyName) " +
        "VALUES (?, ?)");

    adapter.UpdateCommand = new OleDbCommand(
        "UPDATE Customers SET CustomerID = ?, CompanyName = ? " +
        "WHERE CustomerID = ?");

    adapter.DeleteCommand = new OleDbCommand(
        "DELETE FROM Customers WHERE CustomerID = ?");

    // Create the parameters.
    adapter.InsertCommand.Parameters.Add("@CustomerID",
        OleDbType.Char, 5, "CustomerID");
    adapter.InsertCommand.Parameters.Add("@CompanyName",
        OleDbType.VarChar, 40, "CompanyName");

    adapter.UpdateCommand.Parameters.Add("@CustomerID",
        OleDbType.Char, 5, "CustomerID");
    adapter.UpdateCommand.Parameters.Add("@CompanyName",
        OleDbType.VarChar, 40, "CompanyName");
    adapter.UpdateCommand.Parameters.Add("@oldCustomerID",
        OleDbType.Char, 5, "CustomerID").SourceVersion =
        DataRowVersion.Original;

    adapter.DeleteCommand.Parameters.Add("@CustomerID",
        OleDbType.Char, 5, "CustomerID").SourceVersion =
        DataRowVersion.Original;

    return adapter;
}
Public Function CreateDataAdapter(ByVal selectCommand As String, _
    ByVal connection As OleDbConnection) As OleDbDataAdapter

    Dim adapter As OleDbDataAdapter = _
        New OleDbDataAdapter(selectCommand, connection)

    adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey

    ' Create the commands.
    adapter.InsertCommand = New OleDbCommand( _
        "INSERT INTO Customers (CustomerID, CompanyName) " & _
         "VALUES (?, ?)")

    adapter.UpdateCommand = New OleDbCommand( _
        "UPDATE Customers SET CustomerID = ?, CompanyName = ? " & _
        "WHERE CustomerID = ?")

    adapter.DeleteCommand = New OleDbCommand( _
        "DELETE FROM Customers WHERE CustomerID = ?")

    ' Create the parameters.
    adapter.InsertCommand.Parameters.Add( _
        "@CustomerID", OleDbType.Char, 5, "CustomerID")
    adapter.InsertCommand.Parameters.Add( _
        "@CompanyName", OleDbType.VarChar, 40, "CompanyName")

    adapter.UpdateCommand.Parameters.Add( _
        "@CustomerID", OleDbType.Char, 5, "CustomerID")
    adapter.UpdateCommand.Parameters.Add( _
        "@CompanyName", OleDbType.VarChar, 40, "CompanyName")
    adapter.UpdateCommand.Parameters.Add( _
        "@oldCustomerID", OleDbType.Char, 5, "CustomerID").SourceVersion = _
        DataRowVersion.Original

    adapter.DeleteCommand.Parameters.Add( _
        "@CustomerID", OleDbType.Char, 5, "CustomerID").SourceVersion = _
        DataRowVersion.Original

    Return adapter
End Function

Комментарии

Он OleDbDataAdapter служит мостом между DataSet источником данных и источником данных для получения и сохранения данных. Этот OleDbDataAdapter мост используется Fill для загрузки данных из источника данных в источник DataSetданных и отправки Update изменений, внесенных обратно в DataSet источник данных.

OleDbDataAdapter При заполнении DataSetон создаст соответствующие таблицы и столбцы для возвращаемых данных, если они еще не существуют. Однако данные первичного ключа не включаются в неявную созданную схему, если MissingSchemaAction свойство не задано AddWithKey. Кроме тогоOleDbDataAdapter, вы можете создать схему, включая сведения первичного DataSetключа, прежде чем заполнять их данными.FillSchema Дополнительные сведения см. в разделе "Добавление существующих ограничений в набор данных".

Обратите внимание, что некоторые поставщики OLE DB, включая поставщика MSDataShape, не возвращают базовую таблицу или сведения о первичном ключе. OleDbDataAdapter Поэтому невозможно правильно задать свойство для любого созданного PrimaryKeyDataTableобъекта. В этих случаях необходимо явно указать первичные ключи для таблиц в таблице DataSet.

Также OleDbDataAdapter включаются SelectCommandсвойства , InsertCommandDeleteCommandUpdateCommandи TableMappings свойства для упрощения загрузки и обновления данных.

При создании экземпляра OleDbDataAdapterсвойства задаются их начальными значениями. Список этих значений см. в конструкторе OleDbDataAdapter .

Конструкторы

Имя Описание
OleDbDataAdapter()

Инициализирует новый экземпляр класса OleDbDataAdapter.

OleDbDataAdapter(OleDbCommand)

Инициализирует новый экземпляр OleDbDataAdapter класса с указанным OleDbCommand в качестве SelectCommand свойства.

OleDbDataAdapter(String, OleDbConnection)

Инициализирует новый экземпляр OleDbDataAdapter класса с помощью .SelectCommand

OleDbDataAdapter(String, String)

Инициализирует новый экземпляр OleDbDataAdapter класса с помощью .SelectCommand

Поля

Имя Описание
DefaultSourceTableName

Имя по умолчанию, используемое DataAdapter объектом для сопоставлений таблиц.

(Унаследовано от DbDataAdapter)

Свойства

Имя Описание
AcceptChangesDuringFill

Возвращает или задает значение, указывающее, вызывается DataRow ли AcceptChanges() он после добавления в DataTable любой из операций заполнения.

(Унаследовано от DataAdapter)
AcceptChangesDuringUpdate

Возвращает или задает, вызывается ли AcceptChanges() во время вызова Update(DataSet).

(Унаследовано от DataAdapter)
CanRaiseEvents

Возвращает значение, указывающее, может ли компонент вызвать событие.

(Унаследовано от Component)
Container

Возвращает объект IContainer , содержащий Componentобъект .

(Унаследовано от Component)
ContinueUpdateOnError

Возвращает или задает значение, указывающее, следует ли создавать исключение при возникновении ошибки во время обновления строки.

(Унаследовано от DataAdapter)
DeleteCommand

Возвращает или задает инструкцию SQL или хранимую процедуру для удаления записей из набора данных.

DesignMode

Возвращает значение, указывающее, находится ли текущий Component режим разработки.

(Унаследовано от Component)
Events

Возвращает список обработчиков событий, подключенных к этому Component.

(Унаследовано от Component)
FillCommandBehavior

Возвращает или задает поведение команды, используемой для заполнения адаптера данных.

(Унаследовано от DbDataAdapter)
FillLoadOption

Возвращает или задает значение, определяющее LoadOption , как адаптер заполняет его DataTable из DbDataReader.

(Унаследовано от DataAdapter)
InsertCommand

Возвращает или задает инструкцию SQL или хранимую процедуру, используемую для вставки новых записей в источник данных.

MissingMappingAction

Определяет действие, выполняемое, если входящие данные не имеют соответствующей таблицы или столбца.

(Унаследовано от DataAdapter)
MissingSchemaAction

Определяет действие, выполняемого, если существующая DataSet схема не соответствует входящим данным.

(Унаследовано от DataAdapter)
ReturnProviderSpecificTypes

Возвращает или задает, должен ли метод возвращать значения, относящиеся к поставщику Fill , или общие значения, совместимые с CLS.

(Унаследовано от DataAdapter)
SelectCommand

Возвращает или задает инструкцию SQL или хранимую процедуру, используемую для выбора записей в источнике данных.

Site

Возвращает или задает ISite объект Component.

(Унаследовано от Component)
TableMappings

Возвращает коллекцию, которая предоставляет первичное сопоставление между исходной таблицей и a DataTable.

(Унаследовано от DataAdapter)
UpdateBatchSize

Возвращает или задает значение, которое включает или отключает поддержку пакетной обработки и задает количество команд, которые можно выполнить в пакете.

(Унаследовано от DbDataAdapter)
UpdateCommand

Возвращает или задает инструкцию SQL или хранимую процедуру, используемую для обновления записей в источнике данных.

Методы

Имя Описание
AddToBatch(IDbCommand)

Добавляет в текущий IDbCommand пакет.

(Унаследовано от DbDataAdapter)
ClearBatch()

Удаляет все IDbCommand объекты из пакета.

(Унаследовано от DbDataAdapter)
CloneInternals()
Устаревшие..
Устаревшие..
Устаревшие..
Устаревшие..

Создает копию этого экземпляра DataAdapter.

(Унаследовано от DataAdapter)
CreateObjRef(Type)

Создает объект, содержащий все соответствующие сведения, необходимые для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.

(Унаследовано от MarshalByRefObject)
CreateRowUpdatedEvent(DataRow, IDbCommand, StatementType, DataTableMapping)

Инициализирует новый экземпляр класса RowUpdatedEventArgs.

(Унаследовано от DbDataAdapter)
CreateRowUpdatingEvent(DataRow, IDbCommand, StatementType, DataTableMapping)

Инициализирует новый экземпляр класса RowUpdatingEventArgs.

(Унаследовано от DbDataAdapter)
CreateTableMappings()

Создает новый DataTableMappingCollectionобъект.

(Унаследовано от DataAdapter)
Dispose()

Освобождает все ресурсы, используемые параметром Component.

(Унаследовано от Component)
Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые DbDataAdapter и при необходимости освобождает управляемые ресурсы.

(Унаследовано от DbDataAdapter)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
ExecuteBatch()

Выполняет текущий пакет.

(Унаследовано от DbDataAdapter)
Fill(DataSet, Int32, Int32, String, IDbCommand, CommandBehavior)

Добавляет или обновляет строки в указанном диапазоне в DataSet соответствии DataSet с именами и именами исходной таблицы, командной строкой и поведением команд.

(Унаследовано от DbDataAdapter)
Fill(DataSet, Int32, Int32, String)

Добавляет или обновляет строки в указанном диапазоне в DataSet соответствии с этими строками в источнике данных с помощью DataSet имен и DataTable имен.

(Унаследовано от DbDataAdapter)
Fill(DataSet, Object, String)

Добавляет или обновляет строки в DataSet соответствии с именами в ADO Recordset или Record объекте с помощью указанного DataSetобъекта, объекта ADO и имени исходной таблицы.

Fill(DataSet, String, IDataReader, Int32, Int32)

Добавляет или обновляет строки в указанном диапазоне в DataSet соответствии с этими строками в источнике данных с помощью DataSetимен DataTableи IDataReader имен.

(Унаследовано от DbDataAdapter)
Fill(DataSet, String)

Добавляет или обновляет строки в DataSet соответствии с этими строками в источнике данных с помощью DataSet имен и DataTable имен.

(Унаследовано от DbDataAdapter)
Fill(DataSet)

Добавляет или обновляет строки в элементе DataSet.

(Унаследовано от DbDataAdapter)
Fill(DataTable, IDataReader)

Добавляет или обновляет строки в DataTable соответствии с указанными и IDataReader именами в источнике DataTable данных.

(Унаследовано от DbDataAdapter)
Fill(DataTable, IDbCommand, CommandBehavior)

Добавляет или обновляет строки в DataTable соответствии с строками в источнике данных с помощью указанного DataTableIDbCommand и CommandBehavior.

(Унаследовано от DbDataAdapter)
Fill(DataTable, Object)

Добавляет или обновляет строки в соответствии с строками в DataTable объекте ADO Recordset или Record объекте с помощью указанных DataTable объектов и объектов ADO.

Fill(DataTable)

Добавляет или обновляет строки в указанном диапазоне в DataSet соответствии с этими строками в источнике данных с помощью DataTable имени.

(Унаследовано от DbDataAdapter)
Fill(DataTable[], IDataReader, Int32, Int32)

Добавляет или обновляет строки в указанном диапазоне в коллекции DataTable объектов, которые соответствуют этим строкам в источнике данных.

(Унаследовано от DataAdapter)
Fill(DataTable[], Int32, Int32, IDbCommand, CommandBehavior)

Добавляет или обновляет строки в указанном диапазоне в DataSet соответствии с этими строками в источнике данных с помощью DataSet имен и DataTable имен.

(Унаследовано от DbDataAdapter)
Fill(Int32, Int32, DataTable[])

Добавляет или обновляет строки в одном или нескольких DataTable объектах, чтобы они соответствовали данным в источнике данных, начиная с указанной записи и извлекая до указанного максимального количества записей.

(Унаследовано от DbDataAdapter)
FillSchema(DataSet, SchemaType, IDbCommand, String, CommandBehavior)

Добавляет в DataTable указанный DataSet и настраивает схему для сопоставления в источнике данных на основе указанного SchemaType.

(Унаследовано от DbDataAdapter)
FillSchema(DataSet, SchemaType, String, IDataReader)

Добавляется в указанный DataTableDataSetобъект.

(Унаследовано от DataAdapter)
FillSchema(DataSet, SchemaType, String)

Добавляет в DataTable указанный DataSet и настраивает схему для сопоставления в источнике данных на основе указанного SchemaType и DataTable.

(Унаследовано от DbDataAdapter)
FillSchema(DataSet, SchemaType)

DataTable Добавляет имя "Таблица" в указанный DataSet и настраивает схему для сопоставления в источнике данных на основе указанногоSchemaType.

(Унаследовано от DbDataAdapter)
FillSchema(DataTable, SchemaType, IDataReader)

Добавляется в указанный DataTableDataSetобъект.

(Унаследовано от DataAdapter)
FillSchema(DataTable, SchemaType, IDbCommand, CommandBehavior)

Настраивает схему указанного DataTable на основе указанной SchemaType, командной строки и CommandBehavior значений.

(Унаследовано от DbDataAdapter)
FillSchema(DataTable, SchemaType)

Настраивает схему указанного DataTable на основе указанного SchemaType.

(Унаследовано от DbDataAdapter)
GetBatchedParameter(Int32, Int32)

IDataParameter Возвращает одну из команд в текущем пакете.

(Унаследовано от DbDataAdapter)
GetBatchedRecordsAffected(Int32, Int32, Exception)

Возвращает сведения о отдельной попытке обновления в рамках более крупного пакетного обновления.

(Унаследовано от DbDataAdapter)
GetFillParameters()

Возвращает параметры, заданные пользователем при выполнении инструкции SQL SELECT.

(Унаследовано от DbDataAdapter)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetLifetimeService()
Устаревшие..

Извлекает текущий объект службы времени существования, который управляет политикой времени существования для этого экземпляра.

(Унаследовано от MarshalByRefObject)
GetService(Type)

Возвращает объект, представляющий службу, предоставляемую Component или ее Container.

(Унаследовано от Component)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
HasTableMappings()

Указывает, был ли создан объект DataTableMappingCollection .

(Унаследовано от DataAdapter)
InitializeBatching()

Инициализирует пакетную обработку для пакета DbDataAdapter.

(Унаследовано от DbDataAdapter)
InitializeLifetimeService()
Устаревшие..

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.

(Унаследовано от MarshalByRefObject)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
MemberwiseClone(Boolean)

Создает неглубокую копию текущего MarshalByRefObject объекта.

(Унаследовано от MarshalByRefObject)
OnFillError(FillErrorEventArgs)

Вызывает событие FillError.

(Унаследовано от DbDataAdapter)
OnRowUpdated(RowUpdatedEventArgs)

RowUpdated Вызывает событие поставщика данных .NET.

(Унаследовано от DbDataAdapter)
OnRowUpdating(RowUpdatingEventArgs)

RowUpdating Вызывает событие поставщика данных .NET.

(Унаследовано от DbDataAdapter)
ResetFillLoadOption()

Сбрасывает FillLoadOption состояние по умолчанию и вызывает Fill(DataSet) соблюдение AcceptChangesDuringFill.

(Унаследовано от DataAdapter)
ShouldSerializeAcceptChangesDuringFill()

Определяет, следует ли AcceptChangesDuringFill сохранять свойство.

(Унаследовано от DataAdapter)
ShouldSerializeFillLoadOption()

Определяет, следует ли FillLoadOption сохранять свойство.

(Унаследовано от DataAdapter)
ShouldSerializeTableMappings()

Определяет наличие одного или нескольких DataTableMapping объектов и их сохранение.

(Унаследовано от DataAdapter)
TerminateBatching()

Завершает пакетную обработку DbDataAdapterдля .

(Унаследовано от DbDataAdapter)
ToString()

String Возвращает имя, содержащее имя , если таковое Componentимеется. Этот метод не должен быть переопределен.

(Унаследовано от Component)
Update(DataRow[], DataTableMapping)

Обновляет значения в базе данных путем выполнения соответствующих инструкций INSERT, UPDATE или DELETE для каждой вставленной, обновленной или удаленной строки в указанном массиве DataRow объектов.

(Унаследовано от DbDataAdapter)
Update(DataRow[])

Обновляет значения в базе данных путем выполнения соответствующих инструкций INSERT, UPDATE или DELETE для каждой вставленной, обновленной или удаленной строки в указанном массиве DataSet.

(Унаследовано от DbDataAdapter)
Update(DataSet, String)

Обновляет значения в базе данных путем выполнения соответствующих инструкций INSERT, UPDATE или DELETE для каждой вставленной, обновленной или удаленной строки в строке DataSet с указанным DataTable именем.

(Унаследовано от DbDataAdapter)
Update(DataSet)

Обновляет значения в базе данных путем выполнения соответствующих инструкций INSERT, UPDATE или DELETE для каждой вставленной, обновленной или удаленной строки в указанной строке DataSet.

(Унаследовано от DbDataAdapter)
Update(DataTable)

Обновляет значения в базе данных путем выполнения соответствующих инструкций INSERT, UPDATE или DELETE для каждой вставленной, обновленной или удаленной строки в указанной строке DataTable.

(Унаследовано от DbDataAdapter)

События

Имя Описание
Disposed

Происходит при удалении компонента вызовом Dispose() метода.

(Унаследовано от Component)
FillError

Возвращается при возникновении ошибки во время операции заполнения.

(Унаследовано от DbDataAdapter)
RowUpdated

Происходит во время выполнения Update(DataSet) команды в источнике данных. Предпринята попытка обновить. Таким образом, происходит событие.

RowUpdating

Происходит во время Update(DataSet) выполнения команды в источнике данных. Предпринята попытка обновить. Таким образом, происходит событие.

Явные реализации интерфейса

Имя Описание
ICloneable.Clone()

Описание этого элемента см. в разделе Clone().

IDataAdapter.TableMappings

Возвращает коллекцию, показывающую, как исходная таблица сопоставляется с таблицей набора данных.

(Унаследовано от DataAdapter)
IDbDataAdapter.DeleteCommand

Описание этого элемента см. в разделе DeleteCommand.

IDbDataAdapter.InsertCommand

Описание этого элемента см. в разделе InsertCommand.

IDbDataAdapter.SelectCommand

Описание этого элемента см. в разделе SelectCommand.

IDbDataAdapter.UpdateCommand

Описание этого элемента см. в разделе UpdateCommand.

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

См. также раздел