SqlDataAdapter 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í.
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
, Update
o Delete
). Según el tipo de cambio, la Insert
plantilla de comando , Update
o 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
, UpdateCommand
o 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. |