SqlCommandBuilder 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.
Gera automaticamente os comandos de tabela única que são usados para reconciliar as alterações feitas em um DataSet com o banco de dados do SQL Server associado. Essa classe não pode ser herdada.
public ref class SqlCommandBuilder sealed : System::ComponentModel::Component
public ref class SqlCommandBuilder sealed : System::Data::Common::DbCommandBuilder
public sealed class SqlCommandBuilder : System.ComponentModel.Component
public sealed class SqlCommandBuilder : System.Data.Common.DbCommandBuilder
type SqlCommandBuilder = class
inherit Component
type SqlCommandBuilder = class
inherit DbCommandBuilder
Public NotInheritable Class SqlCommandBuilder
Inherits Component
Public NotInheritable Class SqlCommandBuilder
Inherits DbCommandBuilder
- Herança
- Herança
Exemplos
O exemplo a seguir usa , SqlCommandjunto SqlDataAdapter e SqlConnection, para selecionar linhas de uma fonte de dados. O exemplo é passado um cadeia de conexão, uma cadeia de caracteres de consulta que é uma instrução TRANSact-SQL SELECT e uma cadeia de caracteres que é o nome da tabela de banco de dados. Em seguida, o exemplo cria um SqlCommandBuilder.
public static DataSet SelectSqlRows(string connectionString,
string queryString, string tableName)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = new SqlCommand(queryString, connection);
SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
connection.Open();
DataSet dataSet = new DataSet();
adapter.Fill(dataSet, tableName);
//code to modify data in DataSet here
builder.GetUpdateCommand();
//Without the SqlCommandBuilder this line would fail
adapter.Update(dataSet, tableName);
return dataSet;
}
}
Private Function SelectSqlRows(ByVal connectionString As String, _
ByVal queryString As String, ByVal tableName As String) As DataSet
Using connection As New SqlConnection(connectionString)
Dim adapter As New SqlDataAdapter()
adapter.SelectCommand = New SqlCommand(queryString, connection)
Dim builder As New SqlCommandBuilder(adapter)
connection.Open()
Dim dataSet As New DataSet()
adapter.Fill(dataSet, tableName)
' Code to modify data in DataSet here
builder.GetUpdateCommand()
' Without the SqlCommandBuilder this line would fail.
adapter.Update(dataSet, tableName)
Return dataSet
End Using
End Function
Comentários
O SqlDataAdapter não gera automaticamente as instruções Transact-SQL necessárias para reconciliar as alterações feitas em um DataSet com a instância associada do SQL Server. No entanto, você poderá criar um SqlCommandBuilder objeto para gerar automaticamente instruções Transact-SQL para atualizações de tabela única se definir a SelectCommand propriedade do SqlDataAdapter. Em seguida, todas as instruções Transact-SQL adicionais que você não definir são geradas pelo SqlCommandBuilder.
O SqlCommandBuilder se registra como um ouvinte para RowUpdating eventos sempre que você define a DataAdapter propriedade. Você só pode associar um SqlDataAdapter objeto ou SqlCommandBuilder ao outro ao mesmo tempo.
Para gerar instruções INSERT, UPDATE ou DELETE, o SqlCommandBuilder usa a SelectCommand propriedade para recuperar automaticamente um conjunto necessário de metadados. Se você alterar o SelectCommand após a recuperação dos metadados, como após a primeira atualização, chame o RefreshSchema método para atualizar os metadados.
O SelectCommand
também deve retornar pelo menos uma chave primária ou coluna exclusivo. Se nenhum estiver presente, uma exceção InvalidOperation será gerada e os comandos não serão gerados.
O SqlCommandBuilder também usa as Connectionpropriedades , CommandTimeoute Transaction referenciadas pelo SelectCommand. O usuário deve chamar RefreshSchema se uma ou mais dessas propriedades forem modificadas ou se o SelectCommand próprio for substituído. Caso contrário, as InsertCommandpropriedades , UpdateCommande DeleteCommand mantêm seus valores anteriores.
Se você chamar Dispose, o SqlCommandBuilder será desassociado do SqlDataAdaptere os comandos gerados não serão mais usados.
Construtores
SqlCommandBuilder() |
Inicializa uma nova instância da classe SqlCommandBuilder. |
SqlCommandBuilder(SqlDataAdapter) |
Inicializa uma nova instância da classe SqlCommandBuilder com o objeto SqlDataAdapter associado. |
Propriedades
CanRaiseEvents |
Obtém um valor que indica se o componente pode acionar um evento. (Herdado de Component) |
CatalogLocation |
Obtém ou define o CatalogLocation para uma instância da classe SqlCommandBuilder. |
CatalogSeparator |
Obtém ou define uma cadeia de caracteres usada como o separador de catálogo para uma instância da classe SqlCommandBuilder. |
ConflictOption |
Especifica qual ConflictOption deve ser usado pelo DbCommandBuilder. (Herdado de DbCommandBuilder) |
Container |
Obtém o IContainer que contém o Component. (Herdado de Component) |
DataAdapter |
Obtém ou define um objeto SqlDataAdapter para o qual as instruções do Transact-SQL são geradas automaticamente. |
DesignMode |
Obtém um valor que indica se o Component está no modo de design no momento. (Herdado de Component) |
Events |
Obtém a lista de manipuladores de eventos que estão anexados a este Component. (Herdado de Component) |
QuotePrefix |
Obtém ou define o caractere ou caracteres iniciais a serem usados ao especificar os objetos de banco de dados do SQL Server, tais como tabelas ou colunas, cujos nomes contêm caracteres como espaços ou tokens reservados. |
QuoteSuffix |
Obtém ou define o caractere ou caracteres finais a serem usados ao especificar os objetos de banco de dados do SQL Server, tais como tabelas ou colunas, cujos nomes contêm caracteres como espaços ou tokens reservados. |
SchemaSeparator |
Obtém ou define o caractere a ser usado para o separador entre o identificador do esquema e de quaisquer outros identificadores. |
SetAllValues |
Especifica se todos os valores de coluna em uma declaração de atualização são incluídos ou apenas aqueles alterados. (Herdado de DbCommandBuilder) |
Site |
Obtém ou define o ISite do Component. (Herdado de Component) |
Métodos
ApplyParameterInfo(DbParameter, DataRow, StatementType, Boolean) |
Permite a implementação de provedor da classe DbCommandBuilder para manipular propriedades de parâmetro adicionais. (Herdado de DbCommandBuilder) |
CreateObjRef(Type) |
Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto. (Herdado de MarshalByRefObject) |
DeriveParameters(SqlCommand) |
Recupera informações de parâmetro do procedimento armazenado especificado no SqlCommand e popula a coleção Parameters do objeto SqlCommand especificado. |
Dispose() |
Libera todos os recursos usados pelo Component. (Herdado de Component) |
Dispose(Boolean) |
Libera os recursos não gerenciados usados pelo Component e opcionalmente libera os recursos gerenciados. (Herdado de Component) |
Dispose(Boolean) |
Libera os recursos não gerenciados usados pelo DbCommandBuilder e opcionalmente libera os recursos gerenciados. (Herdado de DbCommandBuilder) |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetDeleteCommand() |
Obtém o objeto SqlCommand gerado automaticamente necessário para executar exclusões no banco de dados. |
GetDeleteCommand(Boolean) |
Obtém o objeto SqlCommand gerado automaticamente necessário para executar exclusões no banco de dados. |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetInsertCommand() |
Obtém o objeto SqlCommand gerado automaticamente necessário para executar inserções no banco de dados. |
GetInsertCommand(Boolean) |
Obtém o objeto SqlCommand gerado automaticamente necessário para executar inserções no banco de dados. |
GetLifetimeService() |
Obsoleto.
Recupera o objeto de serviço de tempo de vida atual que controla a política de ciclo de vida para esta instância. (Herdado de MarshalByRefObject) |
GetParameterName(Int32) |
Retorna o nome do parâmetro especificado no formato de |
GetParameterName(String) |
Retorna o nome completo do parâmetro, considerando o nome parcial do parâmetro. (Herdado de DbCommandBuilder) |
GetParameterPlaceholder(Int32) |
Retorna o espaço reservado para o parâmetro na instrução SQL associada. (Herdado de DbCommandBuilder) |
GetSchemaTable(DbCommand) |
Retorna a tabela de esquema para o DbCommandBuilder. (Herdado de DbCommandBuilder) |
GetService(Type) |
Retorna um objeto que representa um serviço fornecido pelo Component ou pelo seu Container. (Herdado de Component) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
GetUpdateCommand() |
Obtém o objeto SqlCommand gerado automaticamente necessário para realizar atualizações no banco de dados. |
GetUpdateCommand(Boolean) |
Obtém o objeto SqlCommand gerado automaticamente necessário para realizar atualizações no banco de dados. |
InitializeCommand(DbCommand) |
Redefine as propriedades CommandTimeout, Transaction, CommandType e UpdateRowSource no DbCommand. (Herdado de DbCommandBuilder) |
InitializeLifetimeService() |
Obsoleto.
Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida para essa instância. (Herdado de MarshalByRefObject) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
MemberwiseClone(Boolean) |
Cria uma cópia superficial do objeto MarshalByRefObject atual. (Herdado de MarshalByRefObject) |
QuoteIdentifier(String) |
Dado um identificador sem aspas no caso de catálogo correto, retorna a forma entre aspas correta desse identificador. Isso inclui o uso da sequência de escape correta de quaisquer aspas inseridas no identificador. |
RefreshSchema() |
Limpa os comandos associados a esse construtor de comando. |
RefreshSchema() |
Limpa os comandos associados a este DbCommandBuilder. (Herdado de DbCommandBuilder) |
RowUpdatingHandler(RowUpdatingEventArgs) |
Adiciona um manipulador de eventos para o evento RowUpdating. (Herdado de DbCommandBuilder) |
SetRowUpdatingHandler(DbDataAdapter) |
Registra o DbCommandBuilder para lidar com o evento RowUpdating para um DbDataAdapter. (Herdado de DbCommandBuilder) |
ToString() |
Retorna um String que contém o nome do Component, se houver. Esse método não deve ser substituído. (Herdado de Component) |
UnquoteIdentifier(String) |
Fornecido um identificador entre aspas, retorna a forma sem aspas correta do identificador. Isso inclui o uso correto sem escape de quaisquer aspas inseridas no identificador. |
Eventos
Disposed |
Ocorre quando o componente é disposto por uma chamada ao método Dispose(). (Herdado de Component) |