Descarga la aplicación para disfrutar aún más
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
Compartir