Anda di halaman 1dari 10

DATAADAPTER

Objetos DataAdapter (OLEDB/SQL) funciona como un puente entre el


objeto DataSet y los datos de origen. El uso del objeto SqlDataAdapter
especfico del proveedor (junto con los objetos SqlCommand y
SqlConnection asociados) permite aumentar el rendimiento global al
trabajar con bases de datos de Microsoft SQL Server. Para otras bases
de datos compatibles con OLE DB, se debe utilizar el objeto
OleDbDataAdapter y los objetos OleDbCommand y OleDbConnection
asociados.
El objeto DataAdapter utiliza comandos para actualizar el origen de
datos despus de hacer modificaciones en el objeto DataSet. Si se
utiliza el mtodo Fill del objetoDataAdapter, se llama al comando
SELECT; si se utiliza el mtodo Update se llama al comando INSERT,
UPDATE o DELETE para cada fila modificada. Es posible establecer
explcitamente estos comandos con el fin de controlar las
instrucciones que se utilizan en tiempo de ejecucin para resolver
cambios, incluido el uso de procedimientos almacenados. En
escenarios ad-hoc, un objeto CommandBuilder puede generarlos en
tiempo de ejecucin a partir de una instruccin de seleccin. Sin
embargo, para generar en tiempo de ejecucin hay que hacer un viaje
de ida y vuelta adicional al servidor con el fin de recopilar los
metadatos necesarios; por tanto, si se proporcionan explcitamente los
comandos INSERT, UPDATE y DELETE en tiempo de diseo, el
rendimiento en tiempo de ejecucin mejorar.

Cuando utilizamos un objeto del tipo DataAdapter (por
ejemplo SqlDataAdapter) ste se encarga de crear la
conexin a la base de datos, abrir dicha conexin y
despus de actualizar los datos tambin se encarga de
cerrar la conexin. Y lo importante es que NUNCA
necesitamos un objeto Connection especfico (e
independiente) para hacer todo ese proceso de
conexin, ya que el adaptador se encarga de todo ese
tema por nosotros.
Pero para que todo esto de las transacciones con un
DataAdapter funcione, lo mejor es crear nuestro objeto
Connection para poder obtener la transaccin por
medio del mtodo BeginTransaction (a lo mejor hay
otra forma ms fcil de hacerlo, pero esta es la que yo
conozco y es la que te explico).
parmetros con DataAdapter

DataAdapter dispone de cuatro propiedades que se
utilizan para recuperar y actualizar datos en un origen de
datos: la propiedad SelectCommand devuelve datos a
partir del origen de datos; las
propiedadesInsertCommand, UpdateCommand y
DeleteCommand se utilizan para administrar cambios
en el origen de datos. La propiedad SelectCommand
se debe establecer antes de llamar al mtodo Fill de
DataAdapter. Es necesario establecer las propiedades
InsertCommand, UpdateCommand o
DeleteCommand antes de llamar al mtodo Update
del DataAdapter, en funcin de las modificaciones
realizadas en los datos en el DataSet.
Arquitectura


El DataAdapter administra varios objetos
Command:
SelectCommand
DeleteCommand
InsertCommand
UpdateCommand
mtodos principales

Fill: Este mtodo utiliza el DataReader para leer
registros y a continuacin, este mtodo copia los
registros en DataSet (o un objeto DataTable). Muchas
aplicaciones (especialmente aplicaciones basadas en
Web) slo requieren acceso de slo lectura a datos. De
forma predeterminada, el DataAdapter recupera slo la
cantidad mnima de esquema que es necesario, el
nombre de columna y el tipo de datos para admitir
operaciones de slo lectura). DataAdapter usa la
propiedad SelectCommand para devolver un
DataReader del que se leen los registros.
FillSchema: Este mtodo consulta la base de
datos de informacin de esquema de ser
necesario. Esto incluye las columnas de clave, la
aceptacin de valores NULL de columnas y etc.
Para configurar el mtodo Fill para recuperar
esta informacin de esquema adicional,
establezca el valor de propiedad
DataAdapter.MissingSchemaAction a
MissingSchemaAction.AddWithKey.

Puede utilizar SelectCommand para devolver un
DataReader del que se lee el esquema. Porque
es costoso recuperar el esquema de DataSet,
almacene el esquema como un archivo de
Lenguaje de marcado extensible o utilice un
DataSet con tipo.
Update. Cuando actualiza la base de datos, el
DataAdapter comprueba la propiedad
RowState de cada objeto DataRow en el
DataTable. Despus, el DataAdapter llama al
DeleteCommand, al InsertCommand o a la
propiedad UpdateCommand para cambiar a la
base de datos segn corresponde. Puede
enlazar el RowUpdating y los eventos
RowUpdated para personalizar cmo procesa
las actualizaciones DataAdapter.

FIN

Anda mungkin juga menyukai