Post on 11-Jan-2015
Acceso a datos con ADO.NET
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
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?
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)
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
¿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
¿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
¿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
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
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
¿Qué es ADO.NET?
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
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
Cómo trabajar con bases de datos en el Explorador de servidores
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
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
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
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( )
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)
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
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
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
Acceso a datos con DataReaders
Crear un DataReader
Leer datos desde un DataReader
Uso de DataSets frente a DataReaders
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
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
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