27 febrero 2007

ADO - Parte 1

El ADO es un término que ha cautivado a las multitudes. Unos bautizaron una línea de autobuses con ese nombre. Hasta el Tri cantaba sobre él (Estoy esperando mi camión en la terminal del ADO... más).

En mi caso, ADO se refiere a ActiveX Data Objects, una colección de objetos hechas por Microsoft para poder programar bases de datos en cualquiera de sus lenguajes visuales (en nuestro caso estaremos jugando con Visual Basic 6.0 y .net) como machitos, no usando el pobre Data Control que viene con el Visual Studio 6.0. Tengo tiempo usarlos en sistemas de VB 6.0 (así voy a abreviadr Visual Basic 6.0 porque creo que lo voy a escribir varias veces y la flojera de escribir lo mismo tantas veces me embarga) y funcionan muy bien (y conste que los usé en servidores de bases de datos remotos, a unos 200 km de distancia entre ellas y requería tiempos de respuesta rapidos). No voy a ahondar mucho en la historia, características especiales, ni otros detalles de ese tipo ya que hay mucha información en la red. Les recomiendo que vean esta página.

El ADO viene muy bien integrado al Visual Basic .NET, pero en la versión 6.0, la que voy a estar describiendo en estos días, hay que especificarle que lo necesitamos.

El ADO contienen 3 objetos que me interesan: el objeto Connection, el Recordset y el Command. El Connection es un objeto que te permite enlazarte a otra base de datos, el Command es el que te permite enviar instrucciones SQL a la base de datos (por medio de la conexión) y el Recordset contiene la tabla resultante de una consulta hecha. A lo mejor se entiende mejor esto con este dibujo.


Como puedes ver, el objeto Connection es como esa línea de teléfono por donde pasan la voz (comandos y datos). El Command son las instrucciones que da el jefe a su achichincle, cosas que tiene que hacer. Si el comando dada por el jefe especifica que necesita datos, el achichincle se los da (los datos) por teléfono (en nuestro caso regresan en un Recordset).

Pero dijo Jack el destripador, vámonos por partes. Para poder usar estos objetos en VB 6.0, tengo que incluirlo en mi proyecto. Para hacer esto, crea un nuevo proyecto (Aplicación EXE) y métete al menú Proyecto -> Referencias. Así:


Después de esto, aparece una ventana como esta:


Ahora agrega la referencia a Microsoft ActiveX Data Objects. Yo lo probé por primera vez con la versión 2.1, pero le he hallado unos detallitos. Mejor incluye la versión 2.5 en adelante, como lo hice en la sigueinte ventana:


¡Listo! Ese fue el primer paso. Esto hace que VB 6.0 integre los objetos ADO que vamos a estar usando (mencionados previamente).

Ahora vamos a algo que nos ahorrará un montón de código más adelante. Voy a declarar objetos ADO de manera global, lo que conocemos como variables globables. A diferencia de las variables declaradas adentro de las funciones (llamadas variables locales), el contenido de estas variables puede ser manipulado por cualquier procedimiento o función que tenga cualquiera de las formas.

Si declaro las variables al principio de una forma, antes de cualquier còdigo, el contenido de esa variable puede ser usada en cualquier función de la forma. Sin embargo, si quiero que la variable sea accesible desde cualquier forma (o sea, nuestro caso), no se puede declarar en una forma. Tenemos que crear un módulo. Los módulos agrupan código que puede ser usada en cualquier forma de un proyecto VB 6.0.

Para crear un módulo, puedes hacerlo de dos maneras: una es dándole click al menu Proyecto->Agregar módulo o bien darle click al triangulito a un lado del botón de Agregar formulario y del menú que aparece, elige la opción Módulo. La imagen que sigue muestra las dos maneras de hacerlo:


Una vez que hago esto, me aparece la ventana que me permite escribir código que puede ser usado por todas las funciones y procedimientos de todas las formas del proyecto. Para declarar variables, se hace muy parecido a declarar una variable "normal" (si tienes dudas, consulta esto), solamente que en lugar de escribir Dim, escribimos Global. Así se vería el módulo:


Hasta allí estamos preparados para la acción. Para concluir, voy a hacer un resumen de lo que he hecho para usar ADO en mis aplicaciones VB 6.0:

  • Incluyes la referencia a Microsoft ActiveX Data Objects en tu proyecto.
  • Creas un módulo para poner nuestras variables globales
  • Declaras las variables en el módulo
Estos dos últimos sirven sobre todo para ahorrar mucho código más adelante. ¿Y qué hace falta para que nuestra aplicación quede totalmente chuvidubis? Haría falta:
  • En la función Form_Load() de la primera forma que aparece al ejecutar tu aplicación (generalmente Form1 si no le cambiaste el nombre), hay que inicializar el objeto Connection para "apuntarlo" a la base de datos que quiero usar.
  • Allí mismo declaro mi objeto Command y le digo que use la Connection que acabo de crear.
  • Allí mismo puedo crear mi objeto Recordset. Lo ligo a los objetos creados anteriormente con anterioridad (o sea, el Command y el Connection).
  • Lo que sigue depende de mi programa, pero seguramente estaré usando el Command y Recordset para trabajar.
  • Al terminar, cierro mi Command y "desconecto" mi Connection.
  • Soy feliz :)

Seguimos en la próxima. ¡Se divierten!

Publicar un comentario
Related Posts Plugin for WordPress, Blogger...