Neste artigo iremos abordar como acessar o Mysql 5 através do Delphi 7 com o componente Zeos. Para adquiri-lo, entre em sua página oficial www.zeoslib.net e procure por zeosdbo-6.1.5-stable.zip ou direto através deste link: http://sourceforge.net/project/downloading.php?group_id=35994&use_mirror=ufpr&filename=zeosdbo-6.1.5-stable.zip&22084638. Pegue esta versão 6.1.5-stable, pois atualmente é a mais estável.Siga os seguintes passos para instalá-lo. Descompacte-o em uma pasta que desejar, C:\ [diretório escolhido] \ zeosdbo-6.1.5-stable.
Entre na pasta C:\ [diretório escolhido] \zeosdbo-6.1.5-stable\lib\mysql e copie as três dlls encontradas (libmysql40.dll, libmysql320.dll, libmysql323.dll) para a pasta C:\Windows\system32.
Abra o Delphi 7, vá em File/Close all. Entre em Tools/Environment Options e abra a aba Library de acordo com a figura 1 abaixo:
![]() |
Figura 01. Environment Options, |
Clique no botão do lado direito em Library Path , aparecerá uma janela chamada Directories, encontre um botão com (...) e adicione as seguintes pastas no botão Add:
C:\ [diretório escolhido] \zeosdbo-6.1.5-stable\src
C:\ [diretório escolhido] \Borland\Delphi7\zeosdbo-6.1.5-stable\src\component
C:\ [diretório escolhido] \Borland\Delphi7\zeosdbo-6.1.5-stable\src\core
C:\ [diretório escolhido] \zeosdbo-6.1.5-stable\src\dbc
C:\ [diretório escolhido] \zeosdbo-6.1.5-stable\src\parsesql
C:\ [diretório escolhido] \zeosdbo-6.1.5-stable\src\plain
Observe como fica na imagem abaixo:
![]() |
Figura 02. Directories |
Depois de seguir estes passos, clique em File/ Open Project... entre na pasta C:\ [diretório escolhido] \zeosdbo-6.1.5-stable\packages\delphi7\ ZeosDbo.bpg e será mostrado a janela abaixo.
![]() |
Figura 03. Project Manager. |
INSTALANDO O MYSQL 5.0.27
Antes de começar, primeiramente iremos baixar o Mysql 5.0.27 zipado através de seu site oficial http://dev.mysql.com/downloads/mysql/5.0.html. Depois de baixar o arquivo de aproximadamente 54 Mb descompacte-o de preferência no diretório C:\ e aparecerá as seguintes pastas.
§ Bin: Os executáveis do Mysql.
§ Data: As bases de dados. Cada diretório é um Banco de Dados.
§ Docs: A documentação, em formato de ajuda do Windows, um arquivo extremamente útil.
Agora iremos configurar o Mysql. Primeiro é necesario iniciar o servidor. Entre na pasta C:\mysql-5.0.27-win32\bin e clique no executável Mysqld.exe. Abra o prompt de comando (DOS) para iniciar o Client com os seguintes comandos C:\mysql-5.0.22-win32\bin\mysql -u root -h localhost (configuração padrão).
Para facilitar, crie um atalho na área de trabalho para o Mysqld.exe. Pronto, o Mysql foi instalado em sua máquina. Agora para manipular suas tabelas o recomendável é possuir algum programa para gerenciá-las. Eu recomendo o “EMS SQL Manager 2005 Lite for MySQL” que pode ser baixado gratuitamente por este link http://www.sqlmanager.net/en/products/mysql/manager/download .
MONTANDO UM PROJETO DE EXEMPLO
Agora iremos criar um simples projeto utilizando a conexão Zeuslib com o Banco de Dados Mysql. Abaixo está a estrutura da tabela criada no MySql que usaremos.
CREATE TABLE `theclub` (
CODIGO int(11) NOT NULL,
NOME varchar(50) default NULL,
CIDADE varchar(40) default NULL,
PRIMARY KEY (`CODIGO`)
) ENGINE= MyISAM DEFAULT CHARSET=latin1;
É importante ressaltar o tipo de tabela que está sendo utilizado neste exemplo, o MyISAM. Estas tabelas se caracterizam por serem mais rápidas porém menos seguras (se fosse um sistema de controle bancário o ideal seria utilizar o tipo InnoDB pois são tipos de tabelas transacionais), por se tratar de um projeto pequeno optei por utilizar este tipo de tabela.
Abra o Delphi 7, vá em File/New/Application e acesse a Aba Zeos Access e adicione: ZConnection, duas ZQuery, DataSetProvider e um ClientDataSet. A tela ficará de acordo com a figura 06.
§ Zconnection1: Database: [nome da base de dados],
Port: 3306,
Protocol: mysql,
User: root.
§ ZQuery1: Connection: Connection1,
RequestLive: true,
SQL: clique nos […] e adicione o seguinte código SQL:
SELECT * FROM THECLUB ORDER BY CODIGO,
WhereMode: wmWhereKeyOnly
§ ZQuery2: Connection: Connection1,
SQL: clique nos […] e adicione o seguinte código SQL:
SELECT MAX(CODIGO) AS ULTIMO FROM THECLUB,
§ DataSetProvider1: Dataset: ZQuery1,
ResolveToDataSet: True,
UpdateMode: upWhereKeyOnly.
§ ClientDataSet1: ProviderName: DataSetProvider1.
Clique com o botão direito em cima da Zquery1, Zquery2 e do ClientDataset1 e adicione os campos. Selecione todos os campos do ClientDataSet e arraste para o formulário, aproveite e coloque um DbNavigator, um Button e um Dbgrid. Observe como o nosso formulário ficará na figura 07.
§ DbNavigator1 - Datasource: Datasource1.
§ DbGrid1 – Datasource: Datasource1.
§ Button1 – Caption: Aplicar ao banco; Font/Color: ClRed.
Neste momento iremos criar uma procedure para controlar o campo CODIGO, incrementando automaticamente depois de dar o comando After Insert.
procedure TForm1.Incrementa;
begin
with ZQuery2 do
begin
Close;
Sql.clear;
Sql.Add('SELECT MAX(CODIGO) AS ULTIMO FROM THECLUB');
Open;
end;
ClientDataSet1['CODIGO']:=ZQuery2['ULTIMO']+1;
end;
Não esqueça de declarar a procedure
procedure Incrementa;
Coloque no evento OnClick do Button este código:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
ClientDataSet1.ApplyUpdates(0);
ShowMessage('AS INFORMAÇÕES FORAM ENVIADAS PARA O BANCO DE DADOS!');
end;
Clique no ClienDataSet1 e no evento AfterInsert dê um foco no DbEdit2 e chame a Procedure Incrementa.
procedure TForm1.ClientDataSet1AfterInsert(DataSet: TDataSet);
begin
DBEdit2.SetFocus;
Incrementa;
end;
E por final, no FormActivate ative o ClientDataSet1
procedure TForm1.FormActivate(Sender: TObject);
begin
ClientDataSet1.Active:=true;
end;
A Principal intenção deste artigo foi criar uma conexão do Delphi com o Mysql junto com o Zeos, demonstrar que é possível trabalhar com o DatasetProvider e o ClientDataSet com componentes de terceiros. Espero que tenham gostado e que sirva de base para criar outros programas. Até a próxima, Sucesso a todos.
Nenhum comentário:
Postar um comentário