SqlDataAdapter Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa um conjunto de comandos de dados e uma conexão de banco de dados que são usados para preencher o DataSet e atualizar o banco de dados do SQL Server. Essa classe não pode ser herdada.
public ref class SqlDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable, System::Data::IDataAdapter, 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.IDataAdapter, 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, IDataAdapter, IDbDataAdapter
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
Implements ICloneable
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
- Herança
-
SqlDataAdapter
- Implementações
Exemplos
O exemplo a seguir usa o SqlCommand, SqlDataAdaptere SqlConnection para selecionar registros de um banco de dados e preencher um DataSet com as linhas selecionadas. O preenchido DataSet é retornado. Para fazer isso, o método é passado um inicializado DataSet, uma cadeia de conexão e uma cadeia de caracteres de consulta que é uma instrução SELECT Transact-SQL.
using Microsoft.Data.SqlClient;
using System.Xml;
using System.Data.Common;
using System.Windows.Forms;
public class Form1 : Form
{
protected DataSet DataSet1;
protected DataGrid dataGrid1;
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;
}
}
}
Comentários
O SqlDataAdapter, serve como uma ponte entre um DataSet e SQL Server para recuperar e salvar dados. O SqlDataAdapter fornece essa ponte mapeando Fill, que altera os dados no DataSet para corresponder aos dados na fonte de dados e Update, que altera os dados na fonte de dados para corresponder aos dados no DataSet, usando as instruções Transact-SQL apropriadas em relação à fonte de dados. A atualização é executada por linha. Para cada linha inserida, modificada e excluída, o Update método determina o tipo de alteração que foi executada nela (Insert
, Update
ou Delete
). Dependendo do tipo de alteração, o Insert
modelo de comando , Update
ou Delete
é executado para propagar a linha modificada para a fonte de dados. Quando o SqlDataAdapter preenche um DataSet, ele cria as tabelas e colunas necessárias para os dados retornados se eles ainda não existirem. No entanto, as informações de chave primária não são incluídas no esquema criado implicitamente, a menos que a MissingSchemaAction propriedade esteja definida como AddWithKey. Você também pode ter a criação SqlDataAdapter do esquema do , incluindo informações de DataSetchave primária, antes de preenchê-lo com dados usando FillSchema
. Para obter mais informações, consulte Adicionando restrições existentes a um Conjunto de Dados.
SqlDataAdapteré usado em conjunto com SqlConnection e SqlCommand para aumentar o desempenho ao se conectar a um banco de dados SQL Server.
Observação
Se você estiver usando procedimentos armazenados do SQL Server para editar ou excluir dados usando um DataAdapter
, não use SET NOCOUNT ON na definição do procedimento armazenado. Isso faz com que a contagem retornada de linhas afetadas seja zero, o que o DataAdapter
interpreta como um conflito de simultaneidade. Nesse caso, será gerada uma DBConcurrencyException.
O SqlDataAdapter também inclui as SelectCommandpropriedades , InsertCommand, DeleteCommand, UpdateCommande TableMappings para facilitar o carregamento e a atualização de dados.
Quando uma instância de é criada, as propriedades de SqlDataAdapter leitura/gravação são definidas como valores iniciais. Para obter uma lista desses valores, consulte o SqlDataAdapter construtor .
Os InsertCommand, DeleteCommande UpdateCommand são modelos genéricos que são preenchidos automaticamente com valores individuais de cada linha modificada por meio do mecanismo de parâmetros.
Para cada coluna propagada para a fonte de dados em Update, um parâmetro deve ser adicionado ao InsertCommand
, UpdateCommand
ou DeleteCommand
. A SourceColumn propriedade do DbParameter objeto deve ser definida como o nome da coluna. Essa configuração indica que o valor do parâmetro não é definido manualmente, mas é obtido da coluna específica na linha processada no momento.
Observação
Ocorrerá InvalidOperationException um se o Fill método for chamado e a tabela contiver um tipo definido pelo usuário que não esteja disponível no computador cliente. Para obter mais informações, veja Tipos CLR definidos pelo usuário.
Construtores
SqlDataAdapter() |
Inicializa uma nova instância da classe SqlDataAdapter. |
SqlDataAdapter(SqlCommand) |
Inicializa uma nova instância da classe SqlDataAdapter com o SqlCommand especificado como a propriedade SelectCommand. |
SqlDataAdapter(String, SqlConnection) |
Inicializa uma nova instância da classe SqlDataAdapter com um SelectCommand e um objeto SqlConnection. |
SqlDataAdapter(String, String) |
Inicializa uma nova instância da classe SqlDataAdapter com um SelectCommand e uma cadeia de conexão. |
Propriedades
DeleteCommand |
Obtém ou define uma instrução Transact-SQL ou um procedimento armazenado para excluir registros na fonte de dados. |
InsertCommand |
Obtém ou define uma instrução Transact-SQL ou um procedimento armazenado para inserir novos registros na fonte de dados. |
SelectCommand |
Obtém ou define uma instrução Transact-SQL ou um procedimento armazenado usado para selecionar registros na fonte de dados. |
UpdateBatchSize |
Obtém ou define o número de linhas que são processadas em cada viagem de ida e volta ao servidor. |
UpdateCommand |
Obtém ou define uma instrução Transact-SQL ou um procedimento armazenado usado para atualizar registros na fonte de dados. |
Eventos
RowUpdated |
Ocorre durante o Update(DataSet), após um comando ser executado na fonte de dados. Realiza-se a tentativa de atualização, para que o evento seja acionado. |
RowUpdating |
Ocorre durante o Update(DataSet), após um comando ser executado com relação à fonte de dados. Realiza-se a tentativa de atualização, para que o evento seja acionado. |
Implantações explícitas de interface
ICloneable.Clone() |
Para obter uma descrição desse membro, confira Clone(). |
IDbDataAdapter.DeleteCommand |
Para obter uma descrição desse membro, confira DeleteCommand. |
IDbDataAdapter.InsertCommand |
Para obter uma descrição desse membro, confira InsertCommand. |
IDbDataAdapter.SelectCommand |
Para obter uma descrição desse membro, confira SelectCommand. |
IDbDataAdapter.UpdateCommand |
Para obter uma descrição desse membro, confira UpdateCommand. |