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


SqlDataAdapter Класс

Определение

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

public ref class SqlDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable, System::Data::IDbDataAdapter
public ref class SqlDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable
public ref class SqlDataAdapter sealed : System::Data::Common::DbDataAdapter
public sealed class SqlDataAdapter : System.Data.Common.DbDataAdapter, ICloneable, System.Data.IDbDataAdapter
public sealed class SqlDataAdapter : System.Data.Common.DbDataAdapter, ICloneable
public sealed class SqlDataAdapter : System.Data.Common.DbDataAdapter
type SqlDataAdapter = class
    inherit DbDataAdapter
    interface IDbDataAdapter
    interface IDataAdapter
    interface ICloneable
type SqlDataAdapter = class
    inherit DbDataAdapter
    interface IDataAdapter
    interface IDbDataAdapter
    interface ICloneable
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
Implements ICloneable, IDbDataAdapter
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
Implements ICloneable
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
Наследование
Реализации

Примеры

В следующем примере используются SqlCommand, SqlDataAdapterи SqlConnection для выбора записей из базы данных и заполнения выделенными DataSet строками. Затем возвращается заполненное DataSet . Для этого методу передается инициализированный DataSetобъект , строка подключения и строка запроса, которая является инструкцией Transact-SQL SELECT.

private static DataSet SelectRows(DataSet dataset,
    string connectionString,string queryString)
{
    using (SqlConnection connection =
        new SqlConnection(connectionString))
    {
        SqlDataAdapter adapter = new SqlDataAdapter();
        adapter.SelectCommand = new SqlCommand(
            queryString, connection);
        adapter.Fill(dataset);
        return dataset;
    }
}
Public Function SelectRows( _
    ByVal dataSet As DataSet, ByVal connectionString As String, _
    ByVal queryString As String) As DataSet

    Using connection As New SqlConnection(connectionString)
        Dim adapter As New SqlDataAdapter()
        adapter.SelectCommand = New SqlCommand( _
            queryString, connection)
        adapter.Fill(dataSet)
        Return dataSet
    End Using
End Function

Комментарии

Объект SqlDataAdapterслужит мостом между DataSet и SQL Server для получения и сохранения данных. Обеспечивает SqlDataAdapter этот мост путем сопоставления Fill, который изменяет данные в DataSet , чтобы соответствовать данным в источнике данных, и Update, который изменяет данные в источнике данных в соответствии с данными в DataSet, используя соответствующие инструкции Transact-SQL для источника данных. Обновление выполняется построчно. Для каждой вставленной, измененной и удаленной строки метод определяет тип изменений, Update выполненных в ней (Insert, Updateили Delete). В зависимости от типа изменения Insertшаблон команды , Updateили Delete выполняется для распространения измененной строки в источник данных. SqlDataAdapter Когда объект заполняет DataSet, он создает необходимые таблицы и столбцы для возвращаемых данных, если они еще не существуют. Однако сведения о первичном ключе не включаются в неявно созданную схему MissingSchemaAction , если свойство не имеет значение AddWithKey. Вы также SqlDataAdapter можете создать схему DataSet, включая сведения о первичном ключе, прежде чем заполнять ее данными с помощью FillSchema. Дополнительные сведения см. в разделе Добавление существующих ограничений в набор данных.

SqlDataAdapterиспользуется в сочетании с SqlConnection и SqlCommand для повышения производительности при подключении к базе данных SQL Server.

Примечание

При использовании хранимых процедур SQL Server для изменения или удаления данных с помощью DataAdapter убедитесь, что в определении хранимой процедуры не указана инструкция SET NOCOUNT ON. В таком случае возвращается число затронутых строк, равное нулю, что DataAdapter интерпретирует как конфликт параллелизма. Это событие вызовет исключение DBConcurrencyException.

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

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

, InsertCommandDeleteCommandи UpdateCommand — это универсальные шаблоны, которые автоматически заполняются отдельными значениями из каждой измененной строки с помощью механизма параметров.

Для каждого столбца, распространяемого в источник данных в Update, следует добавить параметр в InsertCommand, UpdateCommandили DeleteCommand. Свойству SourceColumnDbParameter объекта должно быть присвоено имя столбца. Этот параметр указывает, что значение параметра не задается вручную, а берется из конкретного столбца в текущей обработанной строке.

Примечание

Будет InvalidOperationException возникать, если Fill вызывается метод и таблица содержит пользовательский тип, недоступный на клиентском компьютере. Дополнительные сведения об определяемых пользователем типах данных CLR см. в разделе Определяемые пользователем типы данных CLR.

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

SqlDataAdapter()

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

SqlDataAdapter(SqlCommand)

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

SqlDataAdapter(String, SqlConnection)

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

SqlDataAdapter(String, String)

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

Поля

DefaultSourceTableName

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

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

Свойства

AcceptChangesDuringFill

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

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

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

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

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

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

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

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

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

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

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

DesignMode

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

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

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

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

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

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

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

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

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

MissingMappingAction

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

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

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

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

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

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

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

Site

Получает или задает ISite объекта Component.

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

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

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

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

UpdateBatchSize

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

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

Возвращает или задает инструкцию Transact-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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(Унаследовано от 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)

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

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

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

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

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

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

Добавляет объект DataTable к указанному объекту DataSet.

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

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

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

Добавляет объект DataTable к указанному объекту DataSet.

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

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

(Унаследовано от 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[])

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

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

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

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

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

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

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

(Унаследовано от 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.

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

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