Compartir a través de


SqlDataAdapter Clase

Definición

Representa un conjunto de comandos de datos y una conexión a una base de datos que se usan para rellenar DataSet y actualizar una base de datos de SQL Server. Esta clase no puede heredarse.

public ref class SqlDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable, System::Data::IDataAdapter, System::Data::IDbDataAdapter
public ref class SqlDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable
public ref class SqlDataAdapter sealed : System::Data::Common::DbDataAdapter
public sealed class SqlDataAdapter : System.Data.Common.DbDataAdapter, ICloneable, System.Data.IDataAdapter, System.Data.IDbDataAdapter
public sealed class SqlDataAdapter : System.Data.Common.DbDataAdapter, ICloneable
public sealed class SqlDataAdapter : System.Data.Common.DbDataAdapter
type SqlDataAdapter = class
    inherit DbDataAdapter
    interface IDbDataAdapter
    interface IDataAdapter
    interface ICloneable
type SqlDataAdapter = class
    inherit DbDataAdapter
    interface IDataAdapter
    interface IDbDataAdapter
    interface ICloneable
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
Implements ICloneable, IDataAdapter, IDbDataAdapter
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
Implements ICloneable
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
Herencia
SqlDataAdapter
Implementaciones

Ejemplos

En el SqlCommandejemplo siguiente se usa , SqlDataAdaptery SqlConnection para seleccionar registros de una base de datos y rellenar un DataSet con las filas seleccionadas. A continuación, se devuelve el relleno DataSet . Para ello, el método se pasa a un inicializado DataSet, una cadena de conexión y una cadena de consulta que es una instrucción SELECT de Transact-SQL.

using Microsoft.Data.SqlClient;
using System.Xml;
using System.Data.Common;
using System.Windows.Forms;

public class Form1 : Form
{
    protected DataSet DataSet1;
    protected DataGrid dataGrid1;

    private static DataSet SelectRows(DataSet dataset,
        string connectionString, string queryString)
    {
        using (SqlConnection connection =
            new SqlConnection(connectionString))
        {
            SqlDataAdapter adapter = new SqlDataAdapter();
            adapter.SelectCommand = new SqlCommand(
                queryString, connection);
            adapter.Fill(dataset);
            return dataset;
        }
    }
}

Comentarios

SqlDataAdapter, sirve como puente entre y DataSet SQL Server para recuperar y guardar datos. SqlDataAdapter proporciona este puente asignando Fill, que cambia los datos de DataSet para que coincidan con los datos del origen de datos y Update, que cambia los datos del origen de datos para que coincidan con los datos de DataSet, mediante las instrucciones Transact-SQL adecuadas en el origen de datos. La actualización se realiza por fila. Para cada fila insertada, modificada y eliminada, el Update método determina el tipo de cambio que se ha realizado en ella (Insert, Updateo Delete). Según el tipo de cambio, la Insertplantilla de comando , Updateo Delete se ejecuta para propagar la fila modificada al origen de datos. SqlDataAdapter Cuando rellena , DataSetcrea las tablas y columnas necesarias para los datos devueltos si aún no existen. Sin embargo, la información de clave principal no se incluye en el esquema creado implícitamente a menos que la MissingSchemaAction propiedad esté establecida AddWithKeyen . También puede tener el SqlDataAdapter esquema de creación de , incluida la información de DataSetclave principal, antes de rellenarlo con datos mediante FillSchema. Para obtener más información, vea Agregar restricciones existentes a un conjunto de datos.

SqlDataAdapterse usa junto con SqlConnection y SqlCommand para aumentar el rendimiento al conectarse a una base de datos de SQL Server.

Nota

Si está utilizando procedimientos almacenados de SQL Server para editar o eliminar datos con DataAdapter, asegúrese de que no utiliza SET NOCOUNT ON en la definición del procedimiento almacenado. Esto hace que el recuento de filas afectadas vuelva a cero, lo que DataAdapter interpreta como un conflicto de simultaneidad. En este caso, se iniciará una DBConcurrencyException.

SqlDataAdapter también incluye las SelectCommandpropiedades , InsertCommand, DeleteCommand, UpdateCommandy TableMappings para facilitar la carga y actualización de datos.

Cuando se crea una instancia de , las propiedades de SqlDataAdapter lectura y escritura se establecen en valores iniciales. Para obtener una lista de estos valores, consulte el SqlDataAdapter constructor .

Los InsertCommand, DeleteCommandy UpdateCommand son plantillas genéricas que se rellenan automáticamente con valores individuales de cada fila modificada a través del mecanismo de parámetros.

Para cada columna que se propaga al origen de datos en Update, se debe agregar un parámetro a InsertCommand, UpdateCommando DeleteCommand. La SourceColumn propiedad del DbParameter objeto debe establecerse en el nombre de la columna. Esta configuración indica que el valor del parámetro no se establece manualmente, pero se toma de la columna concreta de la fila procesada actualmente.

Nota:

Se InvalidOperationException producirá si se llama al Fill método y la tabla contiene un tipo definido por el usuario que no está disponible en el equipo cliente. Para obtener más información, vea Tipos definidos por el usuario de CLR.

Constructores

SqlDataAdapter()

Inicializa una nueva instancia de la clase SqlDataAdapter.

SqlDataAdapter(SqlCommand)

Inicializa una nueva instancia de la clase SqlDataAdapter con el objeto SqlCommand especificado como propiedad SelectCommand.

SqlDataAdapter(String, SqlConnection)

Inicializa una nueva instancia de la clase SqlDataAdapter con una propiedad SelectCommand y un objeto SqlConnection.

SqlDataAdapter(String, String)

Inicializa una nueva instancia de la clase SqlDataAdapter con una propiedad SelectCommand y una cadena de conexión.

Propiedades

DeleteCommand

Obtiene o establece un procedimiento almacenado o una instrucción de Transact-SQL para eliminar registros de un conjunto de datos.

InsertCommand

Obtiene o establece un procedimiento almacenado o una instrucción de Transact-SQL para insertar nuevos registros en el origen de datos.

SelectCommand

Obtiene o establece un procedimiento almacenado o una instrucción de Transact-SQL para seleccionar registros en el origen de datos.

UpdateBatchSize

Obtiene o establece el número de filas procesadas en cada acción de ida y vuelta al servidor.

UpdateCommand

Obtiene o establece un procedimiento almacenado o una instrucción de Transact-SQL para actualizar los registros del origen de datos.

Eventos

RowUpdated

Se produce durante Update(DataSet) después de que se ejecute un comando en el origen de datos. Se ha realizado un intento de actualización, de manera que se inicia el evento.

RowUpdating

Se produce durante el método Update(DataSet), antes de que se ejecute un comando en el origen de datos. Se ha realizado un intento de actualización, de manera que se inicia el evento.

Implementaciones de interfaz explícitas

ICloneable.Clone()

Para obtener una descripción de este miembro, vea Clone().

IDbDataAdapter.DeleteCommand

Para obtener una descripción de este miembro, vea DeleteCommand.

IDbDataAdapter.InsertCommand

Para obtener una descripción de este miembro, vea InsertCommand.

IDbDataAdapter.SelectCommand

Para obtener una descripción de este miembro, vea SelectCommand.

IDbDataAdapter.UpdateCommand

Para obtener una descripción de este miembro, vea UpdateCommand.

Se aplica a