Compartilhar via


OdbcCommandBuilder Classe

Definição

Gera automaticamente os comandos de tabela única que são usados para reconciliar as alterações feitas em um DataSet com a fonte de dados associada. Essa classe não pode ser herdada.

public ref class OdbcCommandBuilder sealed : System::Data::Common::DbCommandBuilder
public ref class OdbcCommandBuilder sealed : System::ComponentModel::Component
public sealed class OdbcCommandBuilder : System.Data.Common.DbCommandBuilder
public sealed class OdbcCommandBuilder : System.ComponentModel.Component
type OdbcCommandBuilder = class
    inherit DbCommandBuilder
type OdbcCommandBuilder = class
    inherit Component
Public NotInheritable Class OdbcCommandBuilder
Inherits DbCommandBuilder
Public NotInheritable Class OdbcCommandBuilder
Inherits Component
Herança
Herança
OdbcCommandBuilder

Exemplos

O exemplo a seguir usa OdbcCommand, junto com OdbcDataAdapter e OdbcConnection, para selecionar linhas de uma fonte de dados. O exemplo é passado um inicializadoDataSet, um cadeia de conexão, uma cadeia de caracteres de consulta que é uma instrução SQL SELECT e uma cadeia de caracteres que é o nome da tabela de fonte de dados. Em seguida, o exemplo cria um OdbcCommandBuilder.

public static DataSet SelectOdbcSrvRows(string connectionString,
    string queryString, string tableName)
{
    DataSet dataSet = new DataSet();
    using (OdbcConnection connection = new OdbcConnection(connectionString))
    {
        OdbcDataAdapter adapter = new OdbcDataAdapter();
        adapter.SelectCommand =
            new OdbcCommand(queryString, connection);
        OdbcCommandBuilder builder =
            new OdbcCommandBuilder(adapter);

        connection.Open();

        adapter.Fill(dataSet, tableName);

        //code to modify data in DataSet here

        //Without the OdbcCommandBuilder this line would fail
        adapter.Update(dataSet, tableName);
    }
    return dataSet;
}
Public Function SelectOdbcSrvRows( _
    ByVal connectionString As String, ByVal queryString As String, _
    ByVal tableName As String) As DataSet

    Dim dataSet As New DataSet()

    Using connection As New OdbcConnection(connectionString)
        Dim adapter As New OdbcDataAdapter()
        adapter.SelectCommand = _
            New OdbcCommand(queryString, connection)
        Dim builder As New OdbcCommandBuilder(adapter)

        connection.Open()

        adapter.Fill(dataSet, tableName)

        ' Code to modify data in DataSet here 

        ' Without the OdbcCommandBuilder this line would fail.
        adapter.Update(dataSet, tableName)
    End Using

    Return dataSet
End Function

Comentários

O OdbcDataAdapter não gera automaticamente as instruções SQL necessárias para reconciliar as alterações feitas em um DataSet associado à fonte de dados. No entanto, você pode criar um OdbcCommandBuilder objeto que gera instruções SQL para atualizações de tabela única definindo a SelectCommand propriedade do OdbcDataAdapter. Em OdbcCommandBuilder seguida, o gera quaisquer instruções SQL adicionais que você não definir.

A relação entre um OdbcDataAdapter e seu correspondente OdbcCommandBuilder é sempre um-para-um. Para criar essa correspondência, defina a OdbcDataAdapter propriedade do OdbcCommandBuilder objeto . Isso faz com que o OdbcCommandBuilder se registre como um ouvinte, o que produz a saída de RowUpdating eventos que afetam o DataSet.

Para gerar instruções INSERT, UPDATE ou DELETE, o OdbcCommandBuilder usa a SelectCommand propriedade para recuperar um conjunto necessário de metadados. Se você alterar o valor de após a recuperação dos SelectCommand metadados, como após a primeira atualização, deverá chamar o RefreshSchema método para atualizar os metadados.

Observação

Se a instrução SELECT atribuída à SelectCommand propriedade usar nomes de coluna com alias, as instruções INSERT, UPDATE e DELETE resultantes poderão ser imprecisas ou falhar. Se o driver ODBC subjacente não puder fornecer o nome de coluna base apropriado para o nome da coluna de alias (usando o valor SQL_DESC_BASE_COLUMN_NAME de ), o nome do SQLColAttributealias poderá ser usado nas instruções INSERT, UPDATE e DELETE geradas. Por exemplo, o Microsoft ODBC Driver for Oracle retorna o nome do alias como o nome da coluna base. Portanto, as instruções INSERT, UPDATE e DELETE geradas causariam erros.

O OdbcCommandBuilder 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 valor da SelectCommand propriedade em si for alterado. Caso contrário, as InsertCommandpropriedades , UpdateCommande DeleteCommand mantêm seus valores anteriores.

Se você chamar Dispose, o OdbcCommandBuilder será desassociado do OdbcDataAdaptere os comandos gerados não serão mais usados.

Construtores

OdbcCommandBuilder()

Inicializa uma nova instância da classe OdbcCommandBuilder.

OdbcCommandBuilder(OdbcDataAdapter)

Inicializa uma nova instância da classe OdbcCommandBuilder com o objeto OdbcDataAdapter 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 DbCommandBuilder.

(Herdado de DbCommandBuilder)
CatalogSeparator

Obtém ou define uma cadeia de caracteres usada como o separador de catálogo para uma instância da classe DbCommandBuilder.

(Herdado de DbCommandBuilder)
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 OdbcDataAdapter para o qual o objeto OdbcCommandBuilder gerará instruções SQL.

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 os caracteres iniciais a serem usados ao trabalhar com objetos de banco de dados (por exemplo, tabelas ou colunas) cujos nomes contenham caracteres, como espaços ou tokens reservados.

QuotePrefix

Obtém ou define o caractere ou caracteres iniciais a serem usados ao especificar os objetos de banco de dados (por exemplo, tabelas ou colunas) cujos nomes contêm caracteres como espaços ou tokens reservados.

(Herdado de DbCommandBuilder)
QuoteSuffix

Obtém ou define os caracteres finais a serem usados ao trabalhar com objetos de banco de dados (por exemplo, tabelas ou colunas) cujos nomes contenham 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 (por exemplo, tabelas ou colunas) cujos nomes contêm caracteres como espaços ou tokens reservados.

(Herdado de DbCommandBuilder)
SchemaSeparator

Obtém ou define o caractere a ser usado para o separador entre o identificador do esquema e de quaisquer outros identificadores.

(Herdado de DbCommandBuilder)
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(OdbcCommand)

Recupera informações de parâmetro do procedimento armazenado especificado no OdbcCommand e popula a coleção Parameters do objeto OdbcCommand especificado.

Dispose()

Libera todos os recursos usados pelo Component.

(Herdado de Component)
Dispose(Boolean)

Libera os recursos não gerenciados usados pelo DbCommandBuilder e opcionalmente libera os recursos gerenciados.

(Herdado de DbCommandBuilder)
Dispose(Boolean)

Libera os recursos não gerenciados usados pelo Component e opcionalmente libera os recursos gerenciados.

(Herdado de Component)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetDeleteCommand()

Obtém o objeto OdbcCommand gerado automaticamente necessário para realizar exclusões na fonte de dados.

GetDeleteCommand(Boolean)

Obtém o objeto OdbcCommand gerado automaticamente necessário para realizar exclusões na fonte de dados.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetInsertCommand()

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

GetInsertCommand(Boolean)

Obtém o objeto OdbcCommand gerado automaticamente necessário para realizar inserções na fonte 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 @p#. Use quando estiver criando um construtor de comando personalizado.

(Herdado de DbCommandBuilder)
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 OdbcCommand gerado automaticamente necessário para realizar atualizações na fonte de dados.

GetUpdateCommand(Boolean)

Obtém o objeto OdbcCommand gerado automaticamente necessário para realizar atualizações na fonte 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, OdbcConnection)

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.

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 este OdbcCommandBuilder.

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, OdbcConnection)

Dado um identificador entre aspas, retorna a forma sem aspas correta desse identificador, incluindo desfazer corretamente o escape de quaisquer aspas inseridas no identificador.

UnquoteIdentifier(String)

Dado um identificador entre aspas, retorna a forma sem aspas correta desse identificador, incluindo desfazer corretamente o escape de quaisquer aspas inseridas no identificador.

Eventos

Disposed

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

(Herdado de Component)

Aplica-se a

Confira também