acceso a datos con ado.net. descripción conceptos de bases de datos descripción de ado.net...

26
Acceso a datos con ADO.NET

Upload: eberardo-nolasco

Post on 11-Jan-2015

25 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Acceso a datos con ADO.NET. Descripción Conceptos de bases de datos Descripción de ADO.NET Trabajar con datos Debug and Deploy Escribir Código Acceso

Acceso a datos con ADO.NET

Page 2: Acceso a datos con ADO.NET. Descripción Conceptos de bases de datos Descripción de ADO.NET Trabajar con datos Debug and Deploy Escribir Código Acceso

Descripción

Conceptos de bases de datos

Descripción de ADO.NET

Trabajar con datos

Debugand Deploy

Escribir Código

Acceso a datos

Uso de Visual Studio .NET

Depurare implantar

CrearInterfaz

Page 3: Acceso a datos con ADO.NET. Descripción Conceptos de bases de datos Descripción de ADO.NET Trabajar con datos Debug and Deploy Escribir Código Acceso

Lección: Conceptos de bases de datos

Terminología de las bases de datos

Cómo funciona la programación de bases de datos

¿Qué es SQL?

¿Qué es un entorno conectado?

¿Qué es un entorno desconectado?

Page 4: Acceso a datos con ADO.NET. Descripción Conceptos de bases de datos Descripción de ADO.NET Trabajar con datos Debug and Deploy Escribir Código Acceso

ID de empleadoID de empleadoID de empleadoID de empleado

33

ApellidoApellidoApellidoApellido

SmallSmall

NombreNombreNombreNombre

TonyTony

55 SmithSmith JamesJames

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Terminología de las bases de datos

Products

Customers

Pedidos

Empleados

Relaciones

Tabla de empleados

Filas(registros)

Columnas (campos)

Page 5: Acceso a datos con ADO.NET. Descripción Conceptos de bases de datos Descripción de ADO.NET Trabajar con datos Debug and Deploy Escribir Código Acceso

Cómo funciona la programación de bases de datos

Conectar a una base de datos

Solicitar datos específicos

Devolver datos

Transmitir actualizacionesMostrar y modificar

datos

Base de datos

Cerrar la conexión

En muchas aplicaciones, la conexión se cierra después de que el usuario accede a los datos y vuelve a abrirse cuando el usuario reenvía actualizaciones o realiza más peticiones

En muchas aplicaciones, la conexión se cierra después de que el usuario accede a los datos y vuelve a abrirse cuando el usuario reenvía actualizaciones o realiza más peticiones

Tareas habituales en la programáción de bases de datos

Page 6: Acceso a datos con ADO.NET. Descripción Conceptos de bases de datos Descripción de ADO.NET Trabajar con datos Debug and Deploy Escribir Código Acceso

¿Qué es SQL?

Sintaxis de instrucciones SQL habituales Para especificar exactamente qué registros deseamos

recuperar, utilizarSELECT Campo FROM Tabla

Para limitar la selección de registros, utilizarSELECT * FROM Tabla WHERE Campo = "String"

Para devolver registros en orden ascendente, utilizarSELECT * FROM Tabla ORDER BY Campo ASC

Ejemplo

Definición: SQL es un lenguaje estándar de mercado que ha evolucionado hasta convertirse en el medio de mayor aceptación para realizar consultas y modificar datos en una base de datos

Definición: SQL es un lenguaje estándar de mercado que ha evolucionado hasta convertirse en el medio de mayor aceptación para realizar consultas y modificar datos en una base de datos

SELECT Nombre FROM EmpleadosSELECT Nombre FROM Empleados

Page 7: Acceso a datos con ADO.NET. Descripción Conceptos de bases de datos Descripción de ADO.NET Trabajar con datos Debug and Deploy Escribir Código Acceso

¿Qué es un entorno conectado?

Un entorno conectado es aquel en que los usuarios están conectados continuamente a una fuente de datos

Ventajas:

El entorno es más fácil de mantener

La concurrencia se controla más fácilmente

Es más probable que los datos estén más actualizados que en otros escenarios

Inconvenientes:

Debe existir una conexión de red constante

Escalabilidad limitada

Page 8: Acceso a datos con ADO.NET. Descripción Conceptos de bases de datos Descripción de ADO.NET Trabajar con datos Debug and Deploy Escribir Código Acceso

¿Qué es un entorno desconectado?

Un entorno desconectado es aquel en el que los datos pueden modificarse de forma independiente y los cambios se escriben posteriormente en la base de datos

Ventajas:

Las conexiones se utilizan durante el menor tiempo posible, permitiendo que menos conexiones den servicio a más usuarios

Un entorno desconectado mejora la escalabilidad y el rendimiento de las aplicaciones

Inconvenientes:

Los datos no siempre están actualizados Pueden producirse conflictos de cambios que deben

solucionarse

Page 9: Acceso a datos con ADO.NET. Descripción Conceptos de bases de datos Descripción de ADO.NET Trabajar con datos Debug and Deploy Escribir Código Acceso

Práctica: identificar escenarios de datos conectados o desconectados

En esta práctica,

Trabajaremos en parejas para analizar cinco escenarios de negocio en los cuales se requiere acceso a datos

Para cada escenario, escogeremos un entorno conectado o desconectado, dependiendo de los requerimientos de la aplicación

Determinaremos si se requiere acceso de sólo lectura o de lectura/escritura

Page 10: Acceso a datos con ADO.NET. Descripción Conceptos de bases de datos Descripción de ADO.NET Trabajar con datos Debug and Deploy Escribir Código Acceso

Lección: Descripción de ADO.NET

¿Qué es ADO .NET?

Objetos comunes de ADO.NET

Cómo trabajar con bases de datos en el Explorador de servidores

ADO.NET y XML

Page 11: Acceso a datos con ADO.NET. Descripción Conceptos de bases de datos Descripción de ADO.NET Trabajar con datos Debug and Deploy Escribir Código Acceso

¿Qué es ADO.NET?

Page 12: Acceso a datos con ADO.NET. Descripción Conceptos de bases de datos Descripción de ADO.NET Trabajar con datos Debug and Deploy Escribir Código Acceso

Base de datos

Objetos comunes de ADO.NET

ConnectionConnection

CommandCommand

DataSetDataSet DataReaderDataReader

DataAdapterDataAdapter

Gestiona la conexión a una base de datos

Gestiona la conexión a una base de datos

Ejecuta un comando de consultaen la base de datos

Ejecuta un comando de consultaen la base de datos

Almacena datos en un caché distinto de la base de datos

Almacena datos en un caché distinto de la base de datos

Proporciona acceso eficaz a unflujo de datos de sólo lectura

Proporciona acceso eficaz a unflujo de datos de sólo lectura

Intercambia datos entre el conjunto de datos y la base de datos

Intercambia datos entre el conjunto de datos y la base de datos

Page 13: Acceso a datos con ADO.NET. Descripción Conceptos de bases de datos Descripción de ADO.NET Trabajar con datos Debug and Deploy Escribir Código Acceso

Demostración: Uso del Explorador de servidores

En esta demostración, aprenderemos a utilizar el Explorador de servidores para agregar conexiones a bases de datos y visualizar elementos de bases de datos como tablas

Page 14: Acceso a datos con ADO.NET. Descripción Conceptos de bases de datos Descripción de ADO.NET Trabajar con datos Debug and Deploy Escribir Código Acceso

Cómo trabajar con bases de datos en el Explorador de servidores

Page 15: Acceso a datos con ADO.NET. Descripción Conceptos de bases de datos Descripción de ADO.NET Trabajar con datos Debug and Deploy Escribir Código Acceso

ADO.NET y XML

ADO.NET está estrechamente integrado con XML

Ejemplo de uso de XML en una aplicación ADO.NET desconectada

Servicios Web XML

DataSetDataSet

Solicitar datos1111

Consulta SQL2222

Resultados3333XML4444

XML actualizado5555SQL actualiza

6666

Fuente de datosCliente

DataSetDataSet

Page 16: Acceso a datos con ADO.NET. Descripción Conceptos de bases de datos Descripción de ADO.NET Trabajar con datos Debug and Deploy Escribir Código Acceso

Práctica: acceso a datos en modo lectura

En esta práctica,

1. Iniciaremos una nueva aplicación Windows Forms

2. Escogeremos el tipo de conexión y base de datos

3. Agregaremos Connection y DataAdapter al formulario

4. Generaremos el DataSet

5. Agregaremos un control DataGrid al formulario y estableceremos sus propiedades

6. Utilizaremos el método Fill para poblar el DataSet

7. Ejecutaremos la aplicación para visualizar datos en modo lectura

Page 17: Acceso a datos con ADO.NET. Descripción Conceptos de bases de datos Descripción de ADO.NET Trabajar con datos Debug and Deploy Escribir Código Acceso

Lección: trabajar con datos

Cómo utilizar un objeto Connection

Cómo utilizar un objeto DataAdapter

Cómo utilizar un objeto DataSet

Cómo utilizar un control DataGrid

Cómo utilizar el asistente Asistente para formularios de datos

Page 18: Acceso a datos con ADO.NET. Descripción Conceptos de bases de datos Descripción de ADO.NET Trabajar con datos Debug and Deploy Escribir Código Acceso

Cómo utilizar un objeto Connection

Utilizamos Connection para:

Elegir el tipo de conexión

Especificar la fuente de datos

Abrir la conexión a la fuente de datos

Cerrar la conexión a la fuente de datos

Ejemplo de conexión a una base de datos SQL Server

Dim PubsSQLConn As SqlClient.SqlConnectionPubsSQLConn = New SqlClient.SqlConnection( )PubsSQLConn.ConnectionString = "Integrated Security=True;" & _

"Data Source=local;Initial Catalog=Pubs;"PubsSQLConn.Open( )

Dim PubsSQLConn As SqlClient.SqlConnectionPubsSQLConn = New SqlClient.SqlConnection( )PubsSQLConn.ConnectionString = "Integrated Security=True;" & _

"Data Source=local;Initial Catalog=Pubs;"PubsSQLConn.Open( )

Page 19: Acceso a datos con ADO.NET. Descripción Conceptos de bases de datos Descripción de ADO.NET Trabajar con datos Debug and Deploy Escribir Código Acceso

Cómo utilizar un objeto DataAdapter

Crear un DataAdapter Declarar con la palabra clave Dim

Pasar una cadena de consulta y un objeto Connection como parámetros

Métodos principales de DataAdapter:

El método Fill puebla un conjunto de datos (data set)

El método Update transmite los cambios al almacén de datos

Dim PubsAdapter As SQLDataAdapter = New SQLDataAdapter _ ("Select * from Titles", PubsSQLConn)

Dim PubsAdapter As SQLDataAdapter = New SQLDataAdapter _ ("Select * from Titles", PubsSQLConn)

Page 20: Acceso a datos con ADO.NET. Descripción Conceptos de bases de datos Descripción de ADO.NET Trabajar con datos Debug and Deploy Escribir Código Acceso

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

Page 21: Acceso a datos con ADO.NET. Descripción Conceptos de bases de datos Descripción de ADO.NET Trabajar con datos Debug and Deploy Escribir Código Acceso

Cómo utilizar un control DataGrid

Utilizar un control DataGrid para mostrar datos desde una única fuente de datos o múltiples fuentes de datos

Desde el Cuadro de herramientas, agregar un control DataGrid a un formulario

Establecer las propiedades del control DataGrid

Page 22: Acceso a datos con ADO.NET. Descripción Conceptos de bases de datos Descripción de ADO.NET Trabajar con datos Debug and Deploy Escribir Código Acceso

Cómo utilizar el Asistente para formularios de datos

Cómo abrir el Asistente para formularios de datos

En el menú Archivo, hacer clic en Agregar nuevo elemento

En el panel Plantillas, seleccionar Asistente para formularios de datos

Seguir las instrucciones del asistente El Asistente para formularios de datos

proporciona: Un formulario Windows con controles enlazados a

datos Todos los componentes de datos necesarios para el

formulario Métodos que podemos invocar para leer y escribir

datos

~~~ ~~~ ~~~

Asistente paraformularios de datos

Asistente paraformularios de datos

Page 23: Acceso a datos con ADO.NET. Descripción Conceptos de bases de datos Descripción de ADO.NET Trabajar con datos Debug and Deploy Escribir Código Acceso

Acceso a datos con DataReaders

Crear un DataReader

Leer datos desde un DataReader

Uso de DataSets frente a DataReaders

Page 24: Acceso a datos con ADO.NET. Descripción Conceptos de bases de datos Descripción de ADO.NET Trabajar con datos Debug and Deploy Escribir Código Acceso

Crear un DataReader

Crear y abrir la conexión a base de datos

Crear el DataReader desde un comando

Cerrar el DataReader y la conexión

Dim mySqlCommand As New SqlCommand( "select * from customers", mySqlConnection)Dim myReader As SqlDataReader = mySqlCommand.ExecuteReader()

Dim mySqlCommand As New SqlCommand( "select * from customers", mySqlConnection)Dim myReader As SqlDataReader = mySqlCommand.ExecuteReader()

If Not (myReader Is Nothing) Then myReader.Close()End IfIf mySqlConnection.State = ConnectionState.Open Then mySqlConnection.Close()End If

If Not (myReader Is Nothing) Then myReader.Close()End IfIf mySqlConnection.State = ConnectionState.Open Then mySqlConnection.Close()End If

Page 25: Acceso a datos con ADO.NET. Descripción Conceptos de bases de datos Descripción de ADO.NET Trabajar con datos Debug and Deploy Escribir Código Acceso

Leer datos de un DataReader

Invocar Read para cada registro

Devuelve False cuando no hay más registros

Obtener campos

El parámetro es la posición ordinal o nombre del campo

Invocar close para liberar el lector y la conexión

While myReader.Read() Console.Write(myReader("CustomerID“).ToString() + _

" ") Console.WriteLine(myReader("CompanyName“).ToString())End While

While myReader.Read() Console.Write(myReader("CustomerID“).ToString() + _

" ") Console.WriteLine(myReader("CompanyName“).ToString())End While

Page 26: Acceso a datos con ADO.NET. Descripción Conceptos de bases de datos Descripción de ADO.NET Trabajar con datos Debug and Deploy Escribir Código Acceso

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 elmé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