OdbcCommandBuilder Clase

Definición

Genera de manera automática comandos de tabla única utilizados para conciliar los cambios realizados en un objeto DataSet con el origen de datos asociado. Esta clase no puede heredarse.

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
Herencia
Herencia
OdbcCommandBuilder

Ejemplos

En el ejemplo siguiente se usa OdbcCommand, junto con OdbcDataAdapter y OdbcConnection, para seleccionar filas de un origen de datos. En el ejemplo se pasa un objeto inicializado DataSet, una cadena de conexión, una cadena de consulta que es una instrucción SELECT de SQL y una cadena que es el nombre de la tabla del origen de datos. A continuación, el ejemplo crea un OdbcCommandBuilderobjeto .

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

Comentarios

no OdbcDataAdapter genera automáticamente las instrucciones SQL necesarias para conciliar los cambios realizados en un DataSet asociado al origen de datos. Sin embargo, puede crear un OdbcCommandBuilder objeto que genere instrucciones SQL para actualizaciones de tabla única estableciendo la SelectCommand propiedad de OdbcDataAdapter. A OdbcCommandBuilder continuación, genera cualquier instrucción SQL adicional que no establezca.

La relación entre y OdbcDataAdapter su correspondiente OdbcCommandBuilder es siempre uno a uno. Para crear esta correspondencia, establezca la OdbcDataAdapter propiedad del OdbcCommandBuilder objeto . Esto hace que se OdbcCommandBuilder registre como un agente de escucha, que genera la salida de RowUpdating eventos que afectan a DataSet.

Para generar instrucciones INSERT, UPDATE o DELETE, usa OdbcCommandBuilder la SelectCommand propiedad para recuperar un conjunto necesario de metadatos. Si cambia el valor de SelectCommand una vez recuperados los metadatos, como después de la primera actualización, debe llamar al RefreshSchema método para actualizar los metadatos.

Nota

Si la instrucción SELECT asignada a la SelectCommand propiedad usa nombres de columna con alias, las instrucciones INSERT, UPDATE y DELETE resultantes pueden ser inexactas o con errores. Si el controlador ODBC subyacente no puede proporcionar el nombre de columna base adecuado para el nombre de columna de alias (con el valor SQL_DESC_BASE_COLUMN_NAME de SQLColAttribute), el nombre del alias se podría usar en las instrucciones INSERT, UPDATE y DELETE generadas. Por ejemplo, Microsoft ODBC Driver for Oracle devuelve el nombre del alias como nombre de columna base. Por lo tanto, las instrucciones INSERT, UPDATE y DELETE generadas provocarían errores.

También OdbcCommandBuilder usa las Connectionpropiedades , CommandTimeouty Transaction a las que hace referencia .SelectCommand El usuario debe llamar a RefreshSchema si se modifican una o varias de estas propiedades, o si se cambia el valor de la SelectCommand propia propiedad. De lo contrario, las InsertCommandpropiedades , UpdateCommandy DeleteCommand conservan sus valores anteriores.

Si llama a Dispose, se OdbcCommandBuilder desasocia de OdbcDataAdaptery los comandos generados ya no se usan.

Constructores

OdbcCommandBuilder()

Inicializa una nueva instancia de la clase OdbcCommandBuilder.

OdbcCommandBuilder(OdbcDataAdapter)

Inicializa una nueva instancia de la clase OdbcCommandBuilder con el objeto OdbcDataAdapter asociado.

Propiedades

CanRaiseEvents

Obtiene un valor que indica si el componente puede generar un evento.

(Heredado de Component)
CatalogLocation

Obtiene o establece el objeto CatalogLocation para una instancia de la clase DbCommandBuilder.

(Heredado de DbCommandBuilder)
CatalogSeparator

Obtiene o establece una cadena que se usa como separador de catálogo para una instancia de la clase DbCommandBuilder.

(Heredado de DbCommandBuilder)
ConflictOption

Especifica qué ConflictOption va a utilizar DbCommandBuilder.

(Heredado de DbCommandBuilder)
Container

Obtiene la interfaz IContainer que contiene la clase Component.

(Heredado de Component)
DataAdapter

Obtiene o establece un objeto OdbcDataAdapter para el que este objeto OdbcCommandBuilder va a generar instrucciones SQL.

DesignMode

Obtiene un valor que indica si Component está actualmente en modo de diseño.

(Heredado de Component)
Events

Obtiene la lista de controladores de eventos asociados a Component.

(Heredado de Component)
QuotePrefix

Obtiene o establece el carácter o los caracteres iniciales que se van a utilizar al trabajar con objetos de base de datos (por ejemplo, tablas o columnas), cuyos nombres contengan caracteres como espacios o tokens reservados.

QuotePrefix

Obtiene o establece el carácter o los caracteres iniciales que se van a utilizar al especificar objetos de base de datos (por ejemplo, tablas o columnas), cuyos nombres contengan caracteres como espacios o símbolos (token) reservados.

(Heredado de DbCommandBuilder)
QuoteSuffix

Obtiene o establece el carácter o los caracteres finales que se van a utilizar al trabajar con objetos de base de datos (por ejemplo, tablas o columnas), cuyos nombres contengan caracteres como espacios o tokens reservados.

QuoteSuffix

Obtiene o establece el carácter o los caracteres finales que se van a usar al especificar los objetos de base de datos (por ejemplo, tablas o columnas) cuyos nombres contienen caracteres como espacios o tokens reservados.

(Heredado de DbCommandBuilder)
SchemaSeparator

Obtiene o establece el carácter que se va a utilizar para el separador entre el identificador de esquema y cualquier otro identificador.

(Heredado de DbCommandBuilder)
SetAllValues

Especifica si en una instrucción de actualización se incluyen todos los valores de columna o sólo los que han cambiado.

(Heredado de DbCommandBuilder)
Site

Obtiene o establece ISite de Component.

(Heredado de Component)

Métodos

ApplyParameterInfo(DbParameter, DataRow, StatementType, Boolean)

Permite que la implementación del proveedor de la clase DbCommandBuilder controle propiedades de parámetro adicionales.

(Heredado de DbCommandBuilder)
CreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto.

(Heredado de MarshalByRefObject)
DeriveParameters(OdbcCommand)

Recupera información de parámetro del procedimiento almacenado especificado en OdbcCommand y rellena la colección de Parameters del objeto OdbcCommand especificado.

Dispose()

Libera todos los recursos que usa Component.

(Heredado de Component)
Dispose(Boolean)

Libera los recursos no administrados que usa DbCommandBuilder y, de forma opcional, libera los recursos administrados.

(Heredado de DbCommandBuilder)
Dispose(Boolean)

Libera los recursos no administrados que usa Component y, de forma opcional, libera los recursos administrados.

(Heredado de Component)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetDeleteCommand()

Obtiene el objeto OdbcCommand generado automáticamente que es necesario para realizar eliminaciones en el origen de datos.

GetDeleteCommand(Boolean)

Obtiene el objeto OdbcCommand generado automáticamente que es necesario para realizar eliminaciones en el origen de datos.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetInsertCommand()

Obtiene el objeto OdbcCommand generado automáticamente que es necesario para realizar inserciones en el origen de datos.

GetInsertCommand(Boolean)

Obtiene el objeto OdbcCommand generado automáticamente que es necesario para realizar inserciones en el origen de datos.

GetLifetimeService()
Obsoletos.

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
GetParameterName(Int32)

Devuelve el nombre del parámetro especificado en el formato de @p#. Utilícelo al crear un generador de comandos personalizado.

(Heredado de DbCommandBuilder)
GetParameterName(String)

Devuelve el nombre completo del parámetro, a partir de su nombre parcial.

(Heredado de DbCommandBuilder)
GetParameterPlaceholder(Int32)

Devuelve el marcador de posición para el parámetro en la instrucción SQL asociada.

(Heredado de DbCommandBuilder)
GetSchemaTable(DbCommand)

Devuelve la tabla de esquema para DbCommandBuilder.

(Heredado de DbCommandBuilder)
GetService(Type)

Devuelve un objeto que representa el servicio suministrado por Component o por Container.

(Heredado de Component)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
GetUpdateCommand()

Obtiene el objeto OdbcCommand generado automáticamente que es necesario para realizar actualizaciones en el origen de datos.

GetUpdateCommand(Boolean)

Obtiene el objeto OdbcCommand generado automáticamente que es necesario para realizar actualizaciones en el origen de datos.

InitializeCommand(DbCommand)

Restablece las propiedades CommandTimeout, Transaction, CommandType y UpdateRowSource en el objeto DbCommand.

(Heredado de DbCommandBuilder)
InitializeLifetimeService()
Obsoletos.

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.

(Heredado de MarshalByRefObject)
QuoteIdentifier(String)

Dado un identificador sin comillas en el caso de un catálogo correcto, devuelve el formato correcto del entrecomillado de ese identificador. Incluye una secuencia de escape correcta de las comillas incrustadas que pueda haber en el identificador.

QuoteIdentifier(String, OdbcConnection)

Dado un identificador sin comillas en el caso de un catálogo correcto, devuelve el formato correcto del entrecomillado de ese identificador. Incluye una secuencia de escape correcta de las comillas incrustadas que pueda haber en el identificador.

RefreshSchema()

Borra los comandos asociados a este OdbcCommandBuilder.

RefreshSchema()

Borra los comandos asociados a este DbCommandBuilder.

(Heredado de DbCommandBuilder)
RowUpdatingHandler(RowUpdatingEventArgs)

Agrega un controlador de eventos para el evento RowUpdating.

(Heredado de DbCommandBuilder)
SetRowUpdatingHandler(DbDataAdapter)

Registra el objeto DbCommandBuilder para controlar el evento RowUpdating de un objeto DbDataAdapter.

(Heredado de DbCommandBuilder)
ToString()

Devuelve una String que contiene el nombre del Component, si existe. Este método no se debe invalidar.

(Heredado de Component)
UnquoteIdentifier(String)

Dado un identificador entre comillas, devuelve el formato correcto sin comillas de ese identificador, incluidas las comillas incrustadas correctamente sin escape en el identificador.

UnquoteIdentifier(String, OdbcConnection)

Dado un identificador entre comillas, devuelve el formato correcto sin comillas de ese identificador, incluidas las comillas incrustadas correctamente sin escape en el identificador.

Eventos

Disposed

Tiene lugar cuando una llamada elimina el componente mediante una llamada al método Dispose().

(Heredado de Component)

Se aplica a

Consulte también