SqlCommandBuilder Clase

Definición

Genera automáticamente comandos de tabla única que se usan para conciliar los cambios realizados en un objeto DataSet con la base de datos SQL Server asociada. Esta clase no puede heredarse.

public ref class SqlCommandBuilder sealed : System::Data::Common::DbCommandBuilder
public ref class SqlCommandBuilder sealed : System::ComponentModel::Component
public sealed class SqlCommandBuilder : System.Data.Common.DbCommandBuilder
public sealed class SqlCommandBuilder : System.ComponentModel.Component
type SqlCommandBuilder = class
    inherit DbCommandBuilder
type SqlCommandBuilder = class
    inherit Component
Public NotInheritable Class SqlCommandBuilder
Inherits DbCommandBuilder
Public NotInheritable Class SqlCommandBuilder
Inherits Component
Herencia
Herencia
SqlCommandBuilder

Ejemplos

En el SqlCommandejemplo siguiente se usa , junto SqlDataAdapter con y SqlConnection, para seleccionar filas de un origen de datos. El ejemplo se pasa un cadena de conexión, una cadena de consulta que es una instrucción SELECT de Transact-SQL y una cadena que es el nombre de la tabla de base de datos. A continuación, el ejemplo crea una SqlCommandBuilderclase .

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

Comentarios

SqlDataAdapter no genera automáticamente las instrucciones Transact-SQL necesarias para conciliar los cambios realizados en una DataSet con la instancia asociada de SQL Server. Sin embargo, puede crear un SqlCommandBuilder objeto para generar automáticamente instrucciones Transact-SQL para actualizaciones de tabla única si establece la SelectCommand propiedad de SqlDataAdapter. A continuación, las instrucciones Transact-SQL adicionales que no establezca se generan mediante .SqlCommandBuilder

Se SqlCommandBuilder registra como un agente de escucha para RowUpdating los eventos siempre que se establece la DataAdapter propiedad . Solo se puede asociar uno SqlDataAdapter o SqlCommandBuilder un objeto entre sí a la vez.

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

SelectCommand también debe devolver como mínimo una clave principal o una columna única. Si no hay ninguno, se genera una excepción InvalidOperation y no se generan los comandos.

SqlCommandBuilder también 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 reemplaza el SelectCommand propio . De lo contrario, las InsertCommandpropiedades , UpdateCommandy DeleteCommand conservan sus valores anteriores.

Si llama a Dispose, el SqlCommandBuilder elemento se desasocia de SqlDataAdaptery los comandos generados ya no se usan.

Constructores

SqlCommandBuilder()

Inicializa una nueva instancia de la clase SqlCommandBuilder.

SqlCommandBuilder(SqlDataAdapter)

Inicializa una nueva instancia de la clase SqlCommandBuilder con el objeto SqlDataAdapter 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 SqlCommandBuilder.

CatalogSeparator

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

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 SqlDataAdapter para el que se generan automáticamente instrucciones de Transact-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 caracteres iniciales que se van a utilizar para especificar objetos de base de datos de SQL Server, por ejemplo, tablas o columnas, cuyos nombres contengan caracteres como espacios o símbolos (tokens) reservados.

QuoteSuffix

Obtiene o establece el carácter o caracteres finales que se utilizan para especificar objetos de base de datos de SQL Server, por ejemplo, tablas o columnas, cuyos nombres contienen caracteres como espacios o símbolos (tokens) reservados.

SchemaSeparator

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

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(SqlCommand)

Recupera información de parámetro del procedimiento almacenado especificado en SqlCommand y rellena la colección de Parameters del objeto SqlCommand 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 SqlCommand generado automáticamente que es necesario para realizar eliminaciones en la base de datos.

GetDeleteCommand(Boolean)

Obtiene el objeto SqlCommand generado automáticamente que es necesario para realizar eliminaciones en la base de datos.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetInsertCommand()

Obtiene el objeto SqlCommand generado automáticamente que es necesario para realizar inserciones en la base de datos.

GetInsertCommand(Boolean)

Obtiene el objeto SqlCommand generado automáticamente que es necesario para realizar inserciones en la base 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 SqlCommand generado automáticamente que es necesario para realizar actualizaciones en la base de datos.

GetUpdateCommand(Boolean)

Obtiene el objeto SqlCommand generado automáticamente que es necesario para realizar actualizaciones en la base 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.

RefreshSchema()

Borra los comandos asociados a este generador de comandos.

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 in identificador entre comillas, devuelve el formato correcto sin comillas de ese identificador. Incluye una secuencia sin escape correcta de las comillas incrustadas que pueda haber 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