You are on page 1of 4

El Rinconcito de Delphi

ADO y Delpi
Isidro Robayna
irobayna@gw,ctg.com Systems Adviser de Computer Task Group Consultor certificado por Inprise en Delphi 4 C/S

El presente artculo ha sido cedido para su publicacin en El Rinconcito de Delphi. Es ilegal cualquier actuacin que vulnere los derechos del autor.

ADO y Delphi
Como utilizar los componentes nativos ADO de Delphi y otras alternativas.
ADO (Microsoft ActiveX Data Objects) es la apuesta que esta haciendo Microsoft para acceder a bases de datos relacionales y no relacionales. ADO no esta asociado con ningun lenguaje de programacin y puede usarse desde cualquiera que soporte COM. ADO no es sino una pieza mas en el puzzle de como acceder a las bases de datos. Para que una aplicacin que use ADO pueda finalmente acceder a los datos necesita hacerlo mediante un proveedor OLE DB. Un proveedor OLE DB es un interfaz de bajo nivel para acceder a datos en una organizacin. Es un estndar abierto, a semejanza del ODBC, diseado para acceder cualquier tipo de datos.

con otra base de datos. Para esto se cambia la propiedad Connection a una cadena vlida, y ponemos la propiedad Connected a TRUE. Por ejemplo: ADOConnection1.ConnectionString := Provider=NombredelProveedor; Remote Server=Servidor; ADOConnection1.Active := TRUE Ahora tenemos que construir la cadena de conexin (figura 1) Aunque esta se puede escribir manualmente, es siempre aconsejable usar el editor que nos ayuda a construirla. Este editor no es nativo de Delphi, realmente es un editor que esta incluido en los objetos ADO de Microsoft. Mark Edington es el ingeniero que se encarga de desarrollar ADO en Delphi. Como ancdota comenta que donde recibi ms cumplidos de los beta testers fue en este editor!

El puzzle completo o sopa de letras


El puzzle final se llama UDA (Universal Data Access). Esta tecnologa nos da un lenguaje independiente, con una API que es fcil de usar para acceder a cualquier base de datos la cual tenga un proveedor (OLE DB). Por ejemplo, hay proveedores OLE DB para ORACLE, Microsoft SQL Server y Access por mencionar algunos. UDA se programa mediante MDAC (Microsoft Data Access Components), el cual incluye ADO, ODBC y OLE DB. Todo lo que necesitamos para trabajar con ADO lo tienes en el CD de Delphi, en el directorio MDAC. Si usas el Windows 95, asegrate de que instalas soporte DCOM primero. Ejecuta el programa DCOM95.EXE. Windows 98, NT y 2000 ya traen soporte DCOM. Lo siguiente que tendrs que hacer es instalar MDAC. Ejecuta el programa MDAC_TYP.EXE. Este programa instalar en tu ordenador la versin 2.1 de los Componentes de acceso de datos. Esta es la que necesitas para trabajar con Delphi y ADO.

Figura 1. Pulsa el botn Build para construir la cadena y la siguiente pantalla aparecer (figura 2)

Di adis al BDE
Ahora ya podemos abrir Delphi y empezar a trabajar con los componentes ADO. Delphi trae seis : TADOConnection, TADODataSet, TADOTable, TADOQuery, TADOStoredProc y TADOcommand. Estos componentes son anlogos a los basados en el BDE. Ambas familias de componentes (ADO y BDE) tienen en comn como antepasada la clase TdataSet. Antes de que podamos ejecutar comandos o enviar datos, una aplicacin necesita establecer una conexin con una base de datos. Para empezar a crear una aplicacin ADO utilizamos el componente TADOConnection. Cralo en un Modulo de Datos. Este componente se encarga de la conexin a la base de datos. En ADO es posible que todos los componentes compartan la misma concesin a la base de datos (usando la propiedad Connection) o que cada uno tenga una concesin independiente. Una vez la aplicacin se est ejecutando, es posible conectar

Figura 2 Aqu seleccionamos el proveedor OLE DB con el cual queremos conectarnos. Esta pantalla nos muestra los

ADO y Delphi
proveedores (drivers) disponibles en nuestro ordenador. En este ejemplo vamos a seleccionar el primer proveedor para conectarnos con una base de datos de Microsoft ACCESS. Pulsael botn Next >> y veras la pantalla de conexiones (figura 3).

Figura 5

Figura 3 Una vez aqu, pulsa el botn de la elipses? y navega por tu disco hasta encontrar la base de datos a la cual te quieres conectar, en este caso usamos C:\Winnt\catroot\icatalog.mdb. El siguiente paso es ver si podemos conectarnos satisfactoriamente con la base da datos. Para ello pulsamos el bot n Test Connection. Si todo sale bien, veremos un mensaje (figura 4) indicando la buena conexin.

Figura 4 Ahora vamos a la hoja de propiedades avanzadas (figura 5) en la cual seleccionamos el tipo de conexin que queremos. Por ejemplo, lectura y escritura, solo lectura, etc. Nosotros elegimos share deny none, con lo cual decimos que compartiremos el acceso a las tablas con otros clientes para lectura y escritura. Y el ultimo paso es revisar las opciones que hemos seleccionado hasta ahora. Vamos a la hoja All (figura 6) donde comprobamos y podemos modificar si queremos las caractersticas de nuestra conexin.

Figura 6 Ahora ya tenemos una conexin activa con una base de datos de Microsoft Access. El siguiente paso es ejecutar algn comando SQL. Para esto lo nico que necesitas es incluir en tu modulo de datos el componente TADODataSet. Asegrate de conectar la propiedad Connection a la que previamente hemos configurado con TADOConnection (figura 7)

ADO y Delphi
entero hablando de ellos. Estos componentes, en su versin 3.5, requieren que tu sistema tenga el MDAC 2.5. Ofrecen muchsimas mas opciones que no estn disponibles en los componentes nativos de Delphi. Por ejemplo algunas de estas funciones son: ADOX (figura 9) que son componentes para crear, manipular y borrar tablas, vistas, etc.

Figura 7 Para escribir nuestro cdigo SQL, se puede hacer directamente en la propiedad Command Text o bien pica dos veces para ver el Editor de texto de comandos SQL (figura 8) Figura 9 Tambin incluyen JRO (figura 10) que son componentes para crear, modificar y sincronizar replicas usando objetos de replicacin y el motor Jet.

Figura 10 Adems ofrecen RDS (Entrada de datos remota) (figura 11)

Figura 11 Figura 8 Lo interesante del componente TADODataSet es que a diferencia de su primo TDataSet, puede trabajar directamente con una tabla, ejecutar comandos SQL, manejar el resultado de un DataSet o ejecutar un procedimiento almacenado. Delphi trae tambin los componentes TADOTable, TADOQuery y TADOStoredProc para facilitarnos la migracin del BDE al ADO. Todo lo que podemos hacer con estos tres componentes se puede hacer con el TADODataSet. El ultimo componente por ver es el TADOCommand, el cual tiene la habilidad de ejecutar comandos, uno por uno. Este componente ha sido diseado primordialmente para ejecutar comandos que no devuelven resultados. Por ejemplo el comando DELETE en SQL. Finalmente, estos componentes tienen mejor soporte para transacciones nested e incluyen propiedades para controlar cursores en memoria.

Recursos
Para obtener mas informacin sobre MDAC o para descargar las ultimas versiones, visita este sitio web: http://www.microsoft.com/data/default.htm y http://www.microsoft.com/data/download.htm Pagina web de Adonis: http://www.cybermagic.co.nz/adonis/ FAQ para los componentes ADO de Adonis: http://www.cybermagic.co.nz/winsoft/adofaq.htm Alternativas al BDE: http://www.kylecordes.com

El cielo es el limite
Hay muchos componentes ADO en el mercado, pero entre ellos uno destaca en particular es Adonis. Te preguntaras porque hablo de Adonis en particular habiendo tantas opciones disponibles. La respuesta es simple, estos estn en una categora totalmente por su cuenta. Tienen tantas opciones disponibles que seria necesario escribir un articulo

You might also like