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 |
Возвращает или задает, должен ли метод |
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) |
Вызывает событие |
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[]) |
Обновляет значения в базе данных, выполняя соответствующие операторы 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. |