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 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 o SqlCommand, junto SqlDataAdapter e SqlConnection, para selecionar linhas de uma fonte de dados. O exemplo é passado uma 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 uma DataSet instância associada do SQL Server. No entanto, você pode 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, quaisquer instruções de 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 ou SqlCommandBuilder objeto um ao outro ao mesmo tempo.
Para gerar instruções INSERT, UPDATE ou DELETE, a SqlCommandBuilder propriedade 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, deverá 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 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 elas SelectCommand forem substituídas. Caso contrário, as InsertCommandpropriedades e DeleteCommand as UpdateCommandpropriedades mantêm seus valores anteriores.
Se você chamar Dispose, o SqlCommandBuilder valor será desassociado do SqlDataAdaptere os comandos gerados não serão mais usados.
Construtores
| Nome | Description |
|---|---|
| SqlCommandBuilder() |
Inicializa uma nova instância da classe SqlCommandBuilder. |
| SqlCommandBuilder(SqlDataAdapter) |
Inicializa uma nova instância da SqlCommandBuilder classe com o objeto associado SqlDataAdapter . |
Propriedades
| Nome | Description |
|---|---|
| CanRaiseEvents |
Obtém um valor que indica se o componente pode gerar um evento. (Herdado de Component) |
| CatalogLocation |
Obtém ou define o CatalogLocation para uma instância da SqlCommandBuilder classe. |
| CatalogSeparator |
Obtém ou define uma cadeia de caracteres usada como separador de catálogo para uma instância da SqlCommandBuilder classe. |
| ConflictOption |
Especifica o que 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 SqlDataAdapter objeto para o qual as instruções 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 anexados a isso Component. (Herdado de Component) |
| QuotePrefix |
Obtém ou define o caractere inicial ou os caracteres a serem usados ao especificar objetos de banco de dados do SQL Server, como tabelas ou colunas, cujos nomes contêm caracteres, como espaços ou tokens reservados. |
| QuoteSuffix |
Obtém ou define o caractere final ou os caracteres a serem usados ao especificar objetos de banco de dados do SQL Server, 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 de esquema e quaisquer outros identificadores. |
| SetAllValues |
Especifica se todos os valores de coluna em uma instrução de atualização são incluídos ou apenas alterados. (Herdado de DbCommandBuilder) |
| Site |
Obtém ou define o ISiteComponent. (Herdado de Component) |
Métodos
| Nome | Description |
|---|---|
| ApplyParameterInfo(DbParameter, DataRow, StatementType, Boolean) |
Permite que a implementação do provedor da DbCommandBuilder classe manipule 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 e SqlCommand preenche a Parameters coleção do objeto especificado SqlCommand . |
| 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 gerado SqlCommand automaticamente necessário para executar exclusões no banco de dados. |
| GetDeleteCommand(Boolean) |
Obtém o objeto gerado SqlCommand automaticamente que é 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 gerado SqlCommand automaticamente necessário para executar inserções no banco de dados. |
| GetInsertCommand(Boolean) |
Obtém o objeto gerado SqlCommand automaticamente que é 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 tempo de vida para essa instância. (Herdado de MarshalByRefObject) |
| GetParameterName(Int32) |
Retorna o nome do parâmetro especificado no formato de |
| GetParameterName(String) |
Retorna o nome do parâmetro completo, dado o nome do parâmetro parcial. (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 por sua 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 executar atualizações no banco de dados. |
| GetUpdateCommand(Boolean) |
Obtém o objeto gerado SqlCommand automaticamente necessário para executar atualizações no banco de dados. |
| InitializeCommand(DbCommand) |
Redefine as CommandTimeoutpropriedades , e UpdateRowSourceTransactionCommandType, 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 dessa instância. (Herdado de MarshalByRefObject) |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| MemberwiseClone(Boolean) |
Cria uma cópia superficial do objeto atual MarshalByRefObject . (Herdado de MarshalByRefObject) |
| QuoteIdentifier(String) |
Dado um identificador não citado no caso de catálogo correto, retorna a forma correta entre aspas desse identificador. Isso inclui o escape correto de aspas inseridas no identificador. |
| RefreshSchema() |
Limpa os comandos associados a esse construtor de comandos. |
| RefreshSchema() |
Limpa os comandos associados a isso DbCommandBuilder. (Herdado de DbCommandBuilder) |
| RowUpdatingHandler(RowUpdatingEventArgs) |
Adiciona um processador de eventos para o RowUpdating evento. (Herdado de DbCommandBuilder) |
| SetRowUpdatingHandler(DbDataAdapter) |
Registra o DbCommandBuilder para manipular o RowUpdating evento 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) |
Dado um identificador entre aspas, retorna a forma não citada correta desse identificador. Isso inclui desescapar corretamente as aspas inseridas no identificador. |
Eventos
| Nome | Description |
|---|---|
| Disposed |
Ocorre quando o componente é descartado por uma chamada para o Dispose() método. (Herdado de Component) |