SqlCommandBuilder Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.
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 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
| Name | Description |
|---|---|
| SqlCommandBuilder() |
Inicializa uma nova instância da SqlCommandBuilder classe. |
| SqlCommandBuilder(SqlDataAdapter) |
Inicializa uma nova instância da SqlCommandBuilder classe com o objeto associado SqlDataAdapter . |
Propriedades
| Name | Description |
|---|---|
| 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. |
| CatalogSeparator |
Recebe ou define uma string usada como separador de catálogo para uma instância da SqlCommandBuilder classe. |
| 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. |
| 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. |
| 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. |
| SchemaSeparator |
Obtém ou define o carácter a ser usado como separador entre o identificador de esquema e quaisquer outros identificadores. |
| 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
| Name | Description |
|---|---|
| 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 . |
| 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. |
| GetDeleteCommand(Boolean) |
Obtém o objeto gerado SqlCommand automaticamente que é necessário para realizar eliminações na base de dados. |
| 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. |
| GetInsertCommand(Boolean) |
Obtém o objeto gerado SqlCommand automaticamente que é necessário para realizar inserções na base de dados. |
| GetLifetimeService() |
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 |
| 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. |
| GetUpdateCommand(Boolean) |
Obtém o objeto gerado SqlCommand automaticamente necessário para realizar atualizações na base de dados. |
| InitializeCommand(DbCommand) |
Reinicia os CommandTimeout, Transaction, CommandType, e UpdateRowSource propriedades no DbCommand. (Herdado de DbCommandBuilder) |
| InitializeLifetimeService() |
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. |
| RefreshSchema() |
Limpa os comandos associados a este construtor de comandos. |
| 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. |
evento
| Name | Description |
|---|---|
| Disposed |
Ocorre quando o componente é eliminado por uma chamada ao Dispose() método. (Herdado de Component) |