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 |
Возвращает или задает, должен ли метод возвращать значения, относящиеся к поставщику |
| 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) |
|
| OnRowUpdating(RowUpdatingEventArgs) |
|
| 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. |