Base Datos Delphi

Descargar como doc, pdf o txt
Descargar como doc, pdf o txt
Está en la página 1de 5

www.monografias.

com

Bases de Datos en Delphi 7


Conexin a bases de datos MySQL
Rodolfo Oscar Vallejos [email protected]
1.
2.
3.
4.
5.
6.
7.
8.
9.

Objetivo
Introduccin
Una base de datos de ejemplo
ODBC
Un formulario ODBC
ZeosDBO
Un formulario Zeos
Conclusin
Bibliografa y recursos Web

Objetivo
Proporcionar mediante ejemplos interconexin de Bases de Datos MySQL utilizando los componentes
ODBC y ZeosDBO.
Introduccin
Una de las dificultades con las que se encuentra el estudiante de programacin al comenzar con Delphi 7
es la de encontrar bibliografa en castellano que lo oriente en la solucin de sus problemas mediante la
utilizacin de esta IDE
Este trabajo apunta a orientar al estudiante y/o programador de Delphi en la realizacin de una sencilla
aplicacin que permita la conexin y manipulacin de datos en una DB MySQL.
Son requisitos previos tener instalado MySQL en su sistema, instalar los componentes ZeosDBO, tener
conocimientos de programacin en Delphi y cmo manejar bases de datos SQL.
Una base de datos de ejemplo
Para comenzar deber crear una base de datos MySQL, si no tiene alguna aplicacin que le permita
hacer esto, ingrese al cliente MySQL que viene con la instalacin, desde una ventana DOS y mediante:
C:\mysql\bin\mysql.exe h localhost u root
Una vez ingresado al servidor, utilizando comandos SQL cree una base de datos pertenecientes a una
agenda personal:
Mysql> CREATE DATABASE agenda;
Mysql> USE agenda;
Mysql> CREATE TABLE myagenda (nombre VARCHAR(20), domicilio VARCHAR(30),
telefono VARCHAR(10), localidad VARCHAR(20), codigopostal INT(4));
Terminada la creacin de la tabla myagenda, salga del cliente MySQL por medio del comando quit.
ODBC
ODBC es una tecnologa de conectividad a distintos tipos de bases de datos y se encuentra presente
desde las primeras versiones de Windows. Bsicamente es un puente que permite la conexin de
cualquier aplicacin con un origen de datos tal como lo muestra la figura:

El origen de datos puede apuntar a una base de datos local o a una remota utilizando servicios de red.
MySQL posee un puente ODBC (MyODBC) que puede ser bajado del sitio en forma gratuita y viene con
un instalador de fcil ejecucin.
Para crear un Origen de datos desde el men Inicio seleccione Configuracin y desde el Panel de
Control, en Herramientas administrativas elija Orgenes de datos (ODBC) y posicinese en la
pestaa DSN de sistema, haga clic en agregar

Elija el controlador MyODBC y cliquee el botn Finalizar.

A continuacin llene los datos correspondientes a la agenda en la pantalla de configuracin MyODBC:


Nombre de nuestra conexin ODBC (Data Source Name): agenda
Nombre del servidor (Host/Server name (IP): se puede colocar el nombre de la PC local
(localhost), el nombre de un equipo remoto que contenga el administrador MySQL o la
direccin IP. Para nuestro caso ser: localhost
Nombre de la base de datos (Database name): agenda
Nombre del usuario (User): root
Password: en el caso de que el usuario la tenga (muy recomendable)
La configuracin debe quedar como muestra la figura

Para asegurarse que todo se realiz correctamente presione el botn Test Data Source y el puente
ODBC le informar si la conexin con la base de datos es satisfactoria.
Un formulario ODBC
Ejecute Delphi 7. En un formulario vaco coloque los siguientes componentes:
Un panel con la alineacin (Align) en Top.
Dentro del panel un TDBNavigator
Un botn: Name: Control, Caption: Abrir
Un botn TbitBtn: Name:Cerrar, Kind: bkClose, Caption: Cerrar
Un TDBGrid con alineacin (Align) AllClient
De la pestaa ADO seleccione un TTable y modifique las siguientes propiedades
Name: Tabla
Connectionstring:
Provider=MSDASQL.1;Persist
Security
Info=False;User
ID=root;Data Source=agenda
TableName: myagenda
De la pestaa DataAccess seleccione el componente TDataSource. Asocie el DataSet
con la Tabla
Actualice los DataSource del DBNavigator y DBGrid con el TDataSource.
Para comprobar que todo est correcto, modifique la propiedad Active del TTable a True y ver en el
DBGrid la estructura de la agenda creada anteriormente.
El formulario terminado deber verse como en la figura:

Compile el formulario y ejecute su aplicacin

Para que la misma sea funcional debe escribir algo de cdigo:


Cliquee en el formulario el botn Abrir y en el editor de cdigo escriba lo siguiente:
procedure TForm1.ControlClick(Sender: TObject);
begin
If Control.Caption='Abrir' then
begin
Control.Caption := 'Cerrar';
Tabla.Open;
end
Else
begin
Control.Caption := 'Abrir';
Tabla.Close;
end;
end;
Escriba el mtodo del botn Cerrar
procedure TForm1.CerrarClick(Sender: TObject);
begin
Tabla.Close;
Halt(0);
end;
Compile el formulario y ejecute la aplicacin.
Ver como con un mismo control puede abrir y cerrar la base de datos. Ingrese registros oprimiendo el
botn con el smbolo ms ( + ) del TDBNavigator e inserte los registros en la base de datos por medio del
botn con el smbolo de tilde ( )
ZeosDBO
ZeosDBO es un conjunto de componentes creados por ZeosLib Development Group, de distribucin
gratuita y posibilitan la conectividad con distintas bases de datos: MySQL, PostgresSQL, etc.
Descargue el paquete desde el sitio de ZeosLib e instlelos en su sistema mediante los siguientes
procedimientos:
1. Descomprima el archivo .zip dentro de la carpeta Archivos de
programas\Borland\Source\Zeos
2. Copie la DLL correspondiente a su versin de MySQL que se encuentra en la
carpeta Archivos de programas\Borland\Source\Zeos\lib\mysql a la carpeta
WINNT\SYSTEM32 o WINDOWS\SYSTEM32
3. Agregue el directorio Zeos\packages\delphi7\build a la opcin Library Path de
Delphi
4. De la carpeta Zeos\packages\delphi7 compile ZCore.bpl, ZParseSql.bpl,
ZPlain.bpl y ZDbc.bpl
5. Si los paquetes anteriores se compilan sin problemas, compile y luego instale
ZComponent.bpl. En la IDE aparecer una nueva paleta de componentes como
en la siguiente figura:

De izquierda a derecha los componentes son los siguientes:


ZConnection: Conexin a la Base de Datos
ZReadOnlyQuery: Igual a TQuery pero de slo lectura
ZQuery: Igual a TQuery
ZTable: Igual a TTable
ZUpdateSQL: Componente transaccional
ZStoredProc: Llamadas a procedimientos almacenados (MySQL 5.0 y superior)
Al contrario de ODBC, Zeos se maneja con una estructura distinta: todos los procedimientos de
lectura/escritura se realizan a travs de una conexin a la base de datos, ya sea local o en cualquier sitio
de una red donde se encuentre instalado el servidor MySQL

Un formulario ZEOS
De la misma manera que en el ejemplo anterior, inicie un nuevo proyecto en Delphi agregando al
formulario todos los componentes del ejemplo ODBC menos la Ttable.

Agregue un Zconnection modificando las siguientes propiedades:


Database: agenda
HostName: localhost o el nombre del equipo/direccin IP
User: root (en caso de poner otro nombre de usuario proveer la clave de acceso en la
propiedad Password)
Protocol: la versin del servidor MySQL
Nota: Si su aplicacin correr en varias computadoras de una red debe colocar en la carpeta System
de cada una de ellas el DLL libmysqlXXX.dll correspondiente a la versin del servidor
Agregue un ZTable y modifique las siguientes propiedades:
Connection: ZConnection1
TableName: myagenda
El cdigo del botn que maneja la apertura/cierre de la base es el siguiente:
procedure TForm1.ControlClick(Sender: TObject);
begin
If Control.Caption='Abrir' then
begin
Control.Caption := 'Cerrar';
ZConnection1.Connect;
ZTable.Open;
end
Else
begin
Control.Caption := 'Abrir';
ZTable.Close;
ZConnection1.Disconnect;
end;
end;
El cierre del formulario
procedure TForm1.CerrarClick(Sender: TObject);
begin
ZTable.Close;
ZConnection.Disconnect;
Halt(0);
end;
Conclusin
Estos ejemplos bastan para ilustrar brevemente dos mecanismos para la conexin y manipulacin de
datos utilizando MySQL, tanto en forma local como remota.
El manejo de datos utilizando los componentes xQuery, tanto para ADO como para Zeos, son similares a
el uso de componentes BDE referido a consultas, maestro-detalle, etc.
Vaya aqu mi agradecimiento a los integrantes de la lista IDelphi del Grupo Albor quienes ayudan
permanentemente a solucionar problemas de programacin en esta IDE
Bibliografa y recursos WEB
Dubois, Paul. MySQL. Prentice Hall; Barcelona, 2000
Programming whit Delphi. Ayuda en lnea de la IDE
Sitio de programacin dedicado a Delphi (en ingls): http://delphi.about.com
Sitio de ZeosLib (en ingls): http://www.zeoslib.net
Rodolfo Oscar Vallejos
[email protected]
Rosario (Santa Fe) - Argentina

También podría gustarte