Idioma

SqlCommandBuilder Classe

Definição

Gera automaticamente comandos de tabela única que são usados para reconciliar alterações feitas a um DataSet com a base de dados de SQL Server associada. Esta classe não pode ser herdada.

Para novos desenvolvimentos, use a Microsoft. Data.SqlClient. Esta página documenta o System.Data.SqlClient.

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
SqlCommandBuilder
Herança

Exemplos

O exemplo seguinte usa os SqlCommand, along SqlDataAdapter e SqlConnection, para selecionar linhas de uma fonte de dados. O exemplo recebe uma cadeia de ligação, uma cadeia de consulta que é uma instrução Transact-SQL SELECT e uma cadeia que é o nome da tabela da base de dados. O exemplo cria então 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

Observações

O SqlDataAdapter não gera automaticamente as instruções Transact-SQL necessárias para conciliar alterações feitas a um DataSet com a instância associada de SQL Server. No entanto, pode criar um objeto SqlCommandBuilder para gerar automaticamente instruções Transact-SQL para atualizações de tabela única se definir a propriedade SelectCommand do SqlDataAdapter. Depois, quaisquer instruções Transact-SQL adicionais que não definas são geradas pelo SqlCommandBuilder.

Regista-se SqlCommandBuilder como ouvinte de RowUpdating eventos sempre que defines a DataAdapter propriedade. Só pode associar um SqlDataAdapter ou SqlCommandBuilder objeto ao outro de cada vez.

Para gerar instruções INSERT, UPDATE ou DELETE, utiliza SqlCommandBuilder a SelectCommand propriedade para recuperar automaticamente um conjunto necessário de metadados. Se alterar o SelectCommand método depois de os metadados terem sido recuperados, como após a primeira atualização, deve chamar o RefreshSchema método para atualizar os metadados.

O SelectCommand também deve retornar pelo menos uma chave primária ou coluna exclusiva. Se não houver nenhuma exceção, é gerada uma exceção InvalidOperation , e os comandos não são gerados.

O SqlCommandBuilder também usa os Connection, CommandTimeout, e Transaction propriedades referenciadas pelos SelectCommand. O utilizador deve ligar RefreshSchema se uma ou mais destas propriedades forem modificadas, ou se a SelectCommand própria propriedade for substituída. Caso contrário, as InsertCommandpropriedades , UpdateCommand, e DeleteCommand mantêm os seus valores anteriores.

Se chamar Dispose, o SqlCommandBuilder é dissociado do SqlDataAdapter, e os comandos gerados deixam de ser usados.

Construtores

Nome Descrição
SqlCommandBuilder()

Inicializa uma nova instância da SqlCommandBuilder classe.

Para novos desenvolvimentos, use a Microsoft. Data.SqlClient. Esta página documenta o System.Data.SqlClient.

SqlCommandBuilder(SqlDataAdapter)

Inicializa uma nova instância da SqlCommandBuilder classe com o objeto associado SqlDataAdapter .

Para novos desenvolvimentos, use a Microsoft. Data.SqlClient. Esta página documenta o System.Data.SqlClient.

Propriedades

Nome Descrição
CanRaiseEvents

Obtém um valor que indica se o componente pode gerar um evento.

(Herdado de Component)
CatalogLocation

Obtém ou define para CatalogLocation uma instância da SqlCommandBuilder classe.

Para novos desenvolvimentos, use a Microsoft. Data.SqlClient. Esta página documenta o System.Data.SqlClient.

CatalogSeparator

Recebe ou define uma string usada como separador de catálogo para uma instância da SqlCommandBuilder classe.

Para novos desenvolvimentos, use a Microsoft. Data.SqlClient. Esta página documenta o System.Data.SqlClient.

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 Transact-SQL instruções são geradas automaticamente.

Para novos desenvolvimentos, use a Microsoft. Data.SqlClient. Esta página documenta o System.Data.SqlClient.

DesignMode

Obtém um valor que indica se o Component está atualmente em modo de design.

(Herdado de Component)
Events

Obtém a lista de gestores de eventos que estão ligados a isto Component.

(Herdado de Component)
QuotePrefix

Obtém ou define o carácter inicial ou caracteres a usar ao especificar objetos da base de dados do SQL Server, como tabelas ou colunas, cujos nomes contêm caracteres como espaços ou tokens reservados.

Para novos desenvolvimentos, use a Microsoft. Data.SqlClient. Esta página documenta o System.Data.SqlClient.

QuoteSuffix

Obtém ou define o(s) caractere(s) final (caracteres) a usar ao especificar objetos de base de dados do SQL Server, como tabelas ou colunas, cujos nomes contêm caracteres como espaços ou tokens reservados.

Para novos desenvolvimentos, use a Microsoft. Data.SqlClient. Esta página documenta o System.Data.SqlClient.

SchemaSeparator

Obtém ou define o carácter a ser usado como separador entre o identificador de esquema e quaisquer outros identificadores.

Para novos desenvolvimentos, use a Microsoft. Data.SqlClient. Esta página documenta o System.Data.SqlClient.

SetAllValues

Especifica se todos os valores das colunas numa instrução de atualização estão incluídos ou apenas os alterados.

(Herdado de DbCommandBuilder)
Site

Obtém ou define o ISite do Component.

(Herdado de Component)

Métodos

Nome Descrição
ApplyParameterInfo(DbParameter, DataRow, StatementType, Boolean)

Permite que a implementação provedora da DbCommandBuilder classe trate de propriedades adicionais dos parâmetros.

(Herdado de DbCommandBuilder)
CreateObjRef(Type)

Cria um objeto que contém toda a informação relevante necessária para gerar um proxy usado para comunicar com um objeto remoto.

(Herdado de MarshalByRefObject)
DeriveParameters(SqlCommand)

Recupera informação de parâmetros do procedimento armazenado especificado no SqlCommand e preenche a Parameters coleção do objeto especificado SqlCommand .

Para novos desenvolvimentos, use a Microsoft. Data.SqlClient. Esta página documenta o System.Data.SqlClient.

Dispose()

Liberta todos os recursos utilizados pelo Component.

(Herdado de Component)
Dispose(Boolean)

Liberta os recursos não geridos usados pelo Component e opcionalmente liberta os recursos geridos.

(Herdado de Component)
Dispose(Boolean)

Liberta os recursos não geridos usados pelo DbCommandBuilder e opcionalmente liberta os recursos geridos.

(Herdado de DbCommandBuilder)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetDeleteCommand()

Obtém o objeto gerado SqlCommand automaticamente necessário para realizar eliminações na base de dados.

Para novos desenvolvimentos, use a Microsoft. Data.SqlClient. Esta página documenta o System.Data.SqlClient.

GetDeleteCommand(Boolean)

Obtém o objeto gerado SqlCommand automaticamente que é necessário para realizar eliminações na base de dados.

Para novos desenvolvimentos, use a Microsoft. Data.SqlClient. Esta página documenta o System.Data.SqlClient.

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetInsertCommand()

Obtém o objeto gerado SqlCommand automaticamente necessário para realizar inserções na base de dados.

Para novos desenvolvimentos, use a Microsoft. Data.SqlClient. Esta página documenta o System.Data.SqlClient.

GetInsertCommand(Boolean)

Obtém o objeto gerado SqlCommand automaticamente que é necessário para realizar inserções na base de dados.

Para novos desenvolvimentos, use a Microsoft. Data.SqlClient. Esta página documenta o System.Data.SqlClient.

GetLifetimeService()
Obsoleto.

Recupera o objeto de serviço de tempo de vida atual que controla a política de vida útil neste caso.

(Herdado de MarshalByRefObject)
GetParameterName(Int32)

Devolve o nome do parâmetro especificado no formato de @p#. Use ao criar um construtor de comandos personalizado.

(Herdado de DbCommandBuilder)
GetParameterName(String)

Devolve o nome completo do parâmetro, dado o nome parcial do parâmetro.

(Herdado de DbCommandBuilder)
GetParameterPlaceholder(Int32)

Devolve o marcador de posição para o parâmetro na instrução SQL associada.

(Herdado de DbCommandBuilder)
GetSchemaTable(DbCommand)

Retorna a tabela de esquemas para o DbCommandBuilder.

(Herdado de DbCommandBuilder)
GetService(Type)

Devolve 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 gerado SqlCommand automaticamente necessário para realizar atualizações na base de dados.

Para novos desenvolvimentos, use a Microsoft. Data.SqlClient. Esta página documenta o System.Data.SqlClient.

GetUpdateCommand(Boolean)

Obtém o objeto gerado SqlCommand automaticamente necessário para realizar atualizações na base de dados.

Para novos desenvolvimentos, use a Microsoft. Data.SqlClient. Esta página documenta o System.Data.SqlClient.

InitializeCommand(DbCommand)

Reinicia os CommandTimeout, Transaction, CommandType, e UpdateRowSource propriedades no DbCommand.

(Herdado de DbCommandBuilder)
InitializeLifetimeService()
Obsoleto.

Obtém-se um objeto de serviço vitalício para controlar a apólice vitalícia neste caso.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto atual MarshalByRefObject .

(Herdado de MarshalByRefObject)
QuoteIdentifier(String)

Dado um identificador não aspas, no caso correto do catálogo, retorna a forma correta e aspas. Isto inclui a fuga correta de quaisquer aspas embutidas no identificador.

Para novos desenvolvimentos, use a Microsoft. Data.SqlClient. Esta página documenta o System.Data.SqlClient.

RefreshSchema()

Limpa os comandos associados a este construtor de comandos.

Para novos desenvolvimentos, use a Microsoft. Data.SqlClient. Esta página documenta o System.Data.SqlClient.

RefreshSchema()

Limpa os comandos associados a este DbCommandBuilder.

(Herdado de DbCommandBuilder)
RowUpdatingHandler(RowUpdatingEventArgs)

Adiciona um gestor de eventos para o RowUpdating evento.

(Herdado de DbCommandBuilder)
SetRowUpdatingHandler(DbDataAdapter)

Regista o DbCommandBuilder para gerir o RowUpdating evento para um DbDataAdapter.

(Herdado de DbCommandBuilder)
ToString()

Devolve a String contendo o nome do Component, se existir. Este método não deve ser ultrapassado.

(Herdado de Component)
UnquoteIdentifier(String)

Dado um identificador entre aspas, devolve a forma correta e não astuta desse identificador. Isto inclui a recuperação correta de quaisquer aspas embutidas no identificador.

Para novos desenvolvimentos, use a Microsoft. Data.SqlClient. Esta página documenta o System.Data.SqlClient.

Eventos

Nome Descrição
Disposed

Ocorre quando o componente é eliminado por uma chamada ao Dispose() método.

(Herdado de Component)

Aplica-se a

Consulte também