SqlCommandBuilder Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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::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
- Herencia
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 Component y, de forma opcional, libera los recursos administrados. (Heredado de Component) |
Dispose(Boolean) |
Libera los recursos no administrados que usa DbCommandBuilder y, de forma opcional, libera los recursos administrados. (Heredado de DbCommandBuilder) |
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 |
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) |