Éxito = Esfuerzo, Voluntad, Práctica.. Objetivos: Describir algunos objetos ADO.NET utilizados...

Post on 23-Jan-2016

223 views 0 download

Transcript of Éxito = Esfuerzo, Voluntad, Práctica.. Objetivos: Describir algunos objetos ADO.NET utilizados...

Éxito = Esfuerzo, Voluntad, Práctica.

Objetivos:

•Describir algunos objetos ADO.NET utilizados habitualmente.

•Crear y abrir una conexión a una base de datos en ambientes conectados y desconectados.

•Crear, leer, actualizar y eliminar registros de una base de datos.

¿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

Descripción de 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

Uso de DataSets frente a DataReaders

DataSet1. Crea una conexión de

base de datos2. Almacena las consultas

en un DataAdapter3. Puebla el DataSet con

el método Fill4. 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

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

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( )

Objeto 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)

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()

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

Referencias.•Las palabras entre “ ” son generalmente

comparadas.

Codigo = “Codigo”

•Las palabras utilizadas en las sentencias SQL deben cumplir con las reglas del lenguaje.

•Espacios , Símbolos ( * , + “ ” ‘ ’ () ) , Mayúsculas (DataSet…)

TextBox1 (Name:Codigo)

Aplicación de ambiente -Desconectado.

Menú principal

Programación

Me.Opacity = 0.5 Formulario.ShowDialog() Me.Opacity = 1

Agregar Referencia.

Agregar Referencia.