Compartir por


SqlCommandBuilder Clase

Definición

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

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

Ejemplos

En el SqlCommandejemplo siguiente se usa , junto SqlDataAdapter y SqlConnection, para seleccionar filas de un origen de datos. En el ejemplo se pasa una 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 un 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

Comentarios

SqlDataAdapter no genera automáticamente las instrucciones Transact-SQL necesarias para conciliar los cambios realizados en una DataSet 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 de Transact-SQL adicionales que no establezca se generan mediante .SqlCommandBuilder

Se SqlCommandBuilder registra como agente de escucha para RowUpdating eventos cada vez que se establece la DataAdapter propiedad . Solo 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 SelectCommand después de recuperar 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 ninguna, se genera una excepción InvalidOperation y no se generan los comandos.

SqlCommandBuilder también usa las propiedades , CommandTimeouty Transaction a las Connectionque hace referencia .SelectCommand El usuario debe llamar RefreshSchema a 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, se SqlCommandBuilder desasocia de SqlDataAdaptery los comandos generados ya no se usan.

Constructores

Nombre Description
SqlCommandBuilder()

Inicializa una nueva instancia de la clase SqlCommandBuilder.

SqlCommandBuilder(SqlDataAdapter)

Inicializa una nueva instancia de la SqlCommandBuilder clase con el objeto asociado SqlDataAdapter .

Propiedades

Nombre Description
CanRaiseEvents

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

(Heredado de Component)
CatalogLocation

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

CatalogSeparator

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

ConflictOption

Especifica cuál ConflictOption se va a usar en .DbCommandBuilder

(Heredado de DbCommandBuilder)
Container

Obtiene el IContainer objeto que contiene el Componentobjeto .

(Heredado de Component)
DataAdapter

Obtiene o establece un SqlDataAdapter objeto para el que se generan automáticamente Transact-SQL instrucciones.

DesignMode

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

(Heredado de Component)
Events

Obtiene la lista de controladores de eventos que están asociados a este Componentobjeto .

(Heredado de Component)
QuotePrefix

Obtiene o establece el carácter inicial o los caracteres que se van a usar al especificar objetos de base de datos de SQL Server, como tablas o columnas, cuyos nombres contienen caracteres como espacios o tokens reservados.

QuoteSuffix

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

SchemaSeparator

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

SetAllValues

Especifica si todos los valores de columna de una instrucción update se incluyen o solo se cambian.

(Heredado de DbCommandBuilder)
Site

Obtiene o establece el ISite objeto de .Component

(Heredado de Component)

Métodos

Nombre Description
ApplyParameterInfo(DbParameter, DataRow, StatementType, Boolean)

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

(Heredado de DbCommandBuilder)
CreateObjRef(Type)

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

(Heredado de MarshalByRefObject)
DeriveParameters(SqlCommand)

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

Dispose()

Libera todos los recursos usados por .Component

(Heredado de Component)
Dispose(Boolean)

Libera los recursos no administrados utilizados por Component y, opcionalmente, libera los recursos administrados.

(Heredado de Component)
Dispose(Boolean)

Libera los recursos no administrados utilizados por DbCommandBuilder y, opcionalmente, libera los recursos administrados.

(Heredado de DbCommandBuilder)
Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetDeleteCommand()

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

GetDeleteCommand(Boolean)

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

GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetInsertCommand()

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

GetInsertCommand(Boolean)

Obtiene el objeto generado SqlCommand 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#. Use al compilar un generador de comandos personalizado.

(Heredado de DbCommandBuilder)
GetParameterName(String)

Devuelve el nombre completo del parámetro, dado el nombre del parámetro parcial.

(Heredado de DbCommandBuilder)
GetParameterPlaceholder(Int32)

Devuelve el marcador de posición del 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 un servicio proporcionado por Component o por su Container.

(Heredado de Component)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
GetUpdateCommand()

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

GetUpdateCommand(Boolean)

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

InitializeCommand(DbCommand)

Restablece las CommandTimeoutpropiedades , Transaction, CommandTypey UpdateRowSource en .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 Objectactual.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto actual MarshalByRefObject .

(Heredado de MarshalByRefObject)
QuoteIdentifier(String)

Dado un identificador sin comillas en el caso de catálogo correcto, devuelve la forma de comillas correcta de ese identificador. Esto incluye el escape correcto de las comillas incrustadas en el identificador.

RefreshSchema()

Borra los comandos asociados a este generador de comandos.

RefreshSchema()

Borra los comandos asociados a este DbCommandBuilderobjeto .

(Heredado de DbCommandBuilder)
RowUpdatingHandler(RowUpdatingEventArgs)

Agrega un controlador de eventos para el RowUpdating evento.

(Heredado de DbCommandBuilder)
SetRowUpdatingHandler(DbDataAdapter)

Registra para DbCommandBuilder controlar el RowUpdating evento de un DbDataAdapter.

(Heredado de DbCommandBuilder)
ToString()

Devuelve un String objeto que contiene el nombre de Component, si existe. Este método no se debe invalidar.

(Heredado de Component)
UnquoteIdentifier(String)

Dado un identificador entre comillas, devuelve la forma correcta sin comillas de ese identificador. Esto incluye anular correctamente la ordenación de las comillas incrustadas en el identificador.

Eventos

Nombre Description
Disposed

Se produce cuando el componente se elimina mediante una llamada al Dispose() método .

(Heredado de Component)

Se aplica a

Consulte también