ADO: repaso de toda la estructura.
Hoy nos hemos dedicado a profundizar en la estructura de ADO. Dominando ADO podremos dominar cualquier estructura de programación: ASP, internet, BD, móviles…
Empezaremos por la estructura más humilde: SQLCONNECTION. Crearemos una BD en Access para demostrar esto y comprar.
En el siguiente documento de Adrián se explica con claridad qué objetos de ADO dependen de la BD y cuáles son independientes. Como veremos los ejercicios, una vez que lleguemos al DataSet (el primer objeto de ADO independiente del origen de los datos) podemos dominar toda la estructura.
Hay que tener cuidado con los controladores de cada BD. Debemos comprobar si en ‘Datos’ del ‘Control de Herramientas’ podemos eleguir esos elementos. En concreto, hoy hemos necesitado descargar los drivers de los controladores de MySQL de la web de MySQL.
Para las conexiones hemos añadido los objetos de las procedencias siguientes:
- ODBC. Sirven para todo. Los MySQL son menos flexibles (por eso hemos tenido que descargar los drivers).
- OleDb. Se emplean para las aplicaciones de Microsoft. Y, en general, para cualquier origen de datos 8como último recurso: siempre empezar con los específicos).
- MySQL. Sólo para MySQL.
- SQL. Hace tiempo que ya los usamos. Ahora veremos que los demás se emplean de la misma manera que éstos.
Los ejercicios de hoy tenía por función estudiar todo esto. En este link se puede ver el primer ejercicio: contiene definiciones muy crecisa sobre el uso de cada objeto de ADO.
El 2º ejercicio. Aquí podemos ver distintas formas de comunicarnos con un determinado origen de datos y empezar a trabajar con el DataSet.
IMPORTANTE: para crear un ODBC debemos crear con anterioridad un DSN apuntando al Origen de datos. Con los demás componentes específicos (OracleConnetion, SqlConnetion…) esto es innecesario. Para poder ver todos los controladores, debemos ir a la carpeta:
C:\Windows\SysWOW64
Allí buscamos el archivo Odbcad32.exe. è agregamos un acceso directo. Una vez abierto podemos apuntar a la DSN del sistema (podríamos elegir la de un usuario concreto, por ejemplo). Lo hacemos de esta manera:
---> Agregar ----- Microsoft Access Driver
---- Nombre del origen de datos.
---- seleccionar (buscamos la tabla deseada de Access en la carpeta Users)
En el último ejercicio,añadimos 3 DataDridView y conectaremos con todos a la vez de forma muy sencilla. Lo vemos aquí mismo:
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Creo un DataSet.
Dim Datos As New DataSet
SqlDataAdapter1.Fill(Datos, "Clientes")
OleDbDataAdapter1.Fill(Datos, "Autores")
OdbcDataAdapter1.Fill(Datos, "Editoriales")
dgv1.DataSource = Datos : dgv1.DataMember = "Clientes"
dgv2.DataSource = Datos : dgv2.DataMember = "Autores"
dgv3.DataSource = Datos : dgv3.DataMember = "Editoriales"
End Sub
End Class
Comprobamos que en automático el propio VISUAL abre y cierra la conexión. Además, vemos que al agregar un SqlDataAdapeter(por ejemplo), ya aparecerá un SqlConnetion (está por debajo del SqlDatAdapter).
Se comprueba que de forma muy sencilla podemos exponer los datos de 3 orígeens diferentes en el mismo DataSet.