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


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

Примеры

В следующем примере используется 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илиUpdateDelete). В зависимости от типа изменения шаблон InsertUpdateDelete или шаблон команды выполняется для распространения измененной строки в источник данных. SqlDataAdapter При заполнении DataSetон создает необходимые таблицы и столбцы для возвращаемых данных, если они еще не существуют. Однако данные первичного ключа не включаются в неявную созданную схему, если MissingSchemaAction свойство не задано AddWithKey. Кроме тогоSqlDataAdapter, вы можете создать схему, включая сведения первичного DataSetключа, прежде чем заполнять их данными.FillSchema Дополнительные сведения см. в разделе "Добавление существующих ограничений в набор данных".

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

Замечание

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

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

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

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

Для каждого столбца, распространяемого в источник Updateданных, необходимо добавить параметр в InsertCommandилиUpdateCommandDeleteCommand. Свойство 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

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

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

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

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

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

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, Int32, Int32, String, IDbCommand, CommandBehavior)

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

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

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

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

Добавляет или обновляет строки в указанном диапазоне в 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.

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

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