Logo Studenta

ACCESO DESCONECTADO

¡Este material tiene más páginas!

Vista previa del material en texto

DESARROLLO DE SOFTWARE V
Alex Pacheco Moya
apacheco_mag34@hotmail.com
ACCESO DESCONECTADO
SEMANA 03
Arquitectura ADO-NET
Alex Pacheco 424/10/2022
Data Adapter
• Sabe cómo obtener los datos 
de la fuente de datos y guardar 
los cambios
• Expone 2 métodos:
• Fill (DataSet y Table)
• Update (DataSet y Table)
• Provee mecanismos de mapeo 
entre las tablas y columnas
• Los usuarios pueden configurar 
sus propios comandos o stored
procedures de 
insert/update/delete
• Permite a un solo DataSet ser 
llenado con múltiples fuentes de 
datos
SelectCommand
InsertCommand
DeleteCommand
Connection
DataAdapter
Connection
UpdateCommand
SelectCommand
InsertCommand
DeleteCommand
TableMappings
24/10/2022 Alex Pacheco 5
Escenario Desconectado
Alex Pacheco 624/10/2022
• El objeto DataSet representa una copia local de los
datos que provienen de una o más fuentes de datos.
• El uso de un objeto DataSet permite que un
formulario Web Form se ejecute de forma semi-
independiente de las fuentes de datos.
Escenario Desconectado –
Acceso a Datos con DataSets
Alex Pacheco 724/10/2022
Escenario Desconectado –
Acceso a Datos con DataSets
• El objeto DataSet puede utilizar un objeto DataAdapter para cargar los datos de
una fuente de datos y puede desconectarse de la misma.
• El usuario puede entonces utilizar y manipular los datos.
• Cuando los datos necesitan ser actualizados contra la fuente de datos, se utiliza un
objeto DataAdapter para volver a conectarse y actualizar la fuente de datos.
Alex Pacheco 824/10/2022
Escenario Desconectado –
Acceso a Datos con DataSets
Alex Pacheco 924/10/2022
Uso de DataSets frente a 
DataReaders
DataSet
1. Crea una conexión de base 
de datos
2. Almacena las consultas en 
un DataAdapter
3. Puebla el DataSet con 
el método Fill
4. Crea un DataView
5. Enlaza el DataView a 
un control enlazado a una 
lista
DataReader
1. Crea una conexión de base de datos
2. Abre la conexión a la base de datos
3. Almacena consultas en un SqlCommand
4. Puebla el DataReader con el
método ExecuteReader
5. Invoca el método Read para cada registro, y el 
método Get para cada campo
6. Muestra datos manualmente
7. Cierra el DataReader y 
la conexión
Objeto DataAdapter
• Un objeto DataAdapter actúa como enlace entre un objeto 
DataSet y una fuente de datos que puede utilizarse para 
recuperar y guardar datos. 
• La clase DataAdapter representa un conjunto de comandos de 
base de datos y una conexión a una base de datos que 
utilizamos para rellenar un objeto DataSet y actualizar la fuente 
de datos. 
• Cada objeto DataAdapter intercambia datos entre un único 
objeto DataTable en un objeto DataSet y un único conjunto de 
resultados de una instrucción SQL o un procedimiento 
almacenado.
Ing. Alex Pacheco 1124/10/2022
Crear el DataAdapter
Ing. Alex Pacheco 1224/10/2022
Crear DataSet
Ing. Alex Pacheco 1324/10/2022
Cómo utilizar un objeto DataSet
• Cómo funciona un DataSet
• Almacena datos en un caché desconectado
• Utiliza un modelo de objetos jerárquico de tablas, filas y 
columnas 
• Podemos poblar un DataSet
• Utilizando el método Fill
• Poblando las tablas manualmente
• Leyendo un documento XML o un flujo
• Fusionando o copiando el contenido de otro DataSet
24/10/2022 Alex Pacheco 15
Steps of Data Access: Disconnected 
Environment
 Defining the connection string
 Defining the connection 
 Defining the command
 Defining the data adapter
 Creating a new DataSet object 
 SELECT -> fill the dataset object with the result of 
the query through the data adapter 
 Reading the records from the DataTables in the 
datasets using the DataRow and DataColumn 
objects 
 UPDATE, INSERT or DELETE -> update the database 
through the data adapter 
using System;
using System.Data;
using System.Data.SqlClient;
namespace SampleClass
{
class Program
{
static void Main(string[] args)
{
string connStr = 
Properties.Settings.Default.connStr;
SqlConnection conn = new SqlConnection(connStr);
string queryString = "SELECT * from titles;";
SqlDataAdapter da = new 
SqlDataAdapter(queryString,conn);
DataSet ds = new DataSet();
da.fill(ds);
// Work on the data in memory using 
// the DataSet (ds) object
}
}
}
E
X
A
M
P
L
E
Disconnected –
Update, Delete, Insert
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();
SqlCommandBuilder cmdBuilder = new 
SqlCommandBuilder(da);
da.Fill(ds);
DataRow dr = ds.Tables[0].Rows[0];
dr.Delete();
da.UpdateCommand = builder.GetUpdateCommand();
da.Update(ds);
DataRow dr = ds.Tables[0].Rows[0];
dr["CustomerName"] = "John";
da.UpdateCommand = builder.GetUpdateCommand();
da.Update(ds);
DELETE
UPDATE
INITIAL CODE
DataRow dr = ds.Tables[0].NewRow();
dr["CustomerName"] = "John";
dr["CustomerSurName"] = "Smith";
ds.Tables[0].Rows.Add(dr);
da.UpdateCommand = builder.GetUpdateCommand();
da.Update(ds);
INSERT
MATERIAL 
CONSULTADO
• Universidad.net 
• Daniel Seara –
Argentina
• Material de Clase 
ADO.NET
• Rolando Chávez
• PPT ADO.NET
• Microsoft
Dhirubhai Ambani (Magnate Indio)
Si tú no construyes tu 
sueño, alguien va a 
contratarte para que le 
ayudes a construir el 
suyo
24/10/2022 Alex Pacheco 22

Continuar navegando