DELPHI & MySQL
Conectando Bases de Dados MySQL com front-end Delphi
através de objetos ADO.
My
Michel Alves dos SantosMichel Alves dos Santos
Forma básica de acesso - BDE
Interface do BDE Administrator
Michel Alves dos SantosMichel Alves dos Santos
Forma básica de acessoForma básica de acesso - BDE
Paleta do BDE
Admnistrador de
Bancos e
ferramentas SQL.
Michel Alves dos SantosMichel Alves dos Santos
Outras Formas de Conexão.
- Usando acesso a arquivo texto.
- Usando components DBExpress.
- Usando componentes ADO.
- Usando Componentes IB (especifico
Interbase/Firebird).
- Usando componentes especializados (Ex: para
MySQL- o Zeos, o TmySQL, o MySQL Data
Access ou o MyComponents).
(MySQL Data Access)
Michel Alves dos SantosMichel Alves dos Santos
Estudo de caso : MyComponents
Arquitetura
dos componentes MyComponents.
http://help.scibit.com/mysqlcomp/html
http://www.scibit.com/products/mysqlcomponents/index.htm
Michel Alves dos SantosMichel Alves dos Santos
Versões do MySQL
- MySQL para Windows (recomendado para arquitetura NT).
- MySQL para linux(todas as distribuições).
- MySQL para Unix(HpUX, FreeBSD, etc).
A partir da versão 4.1.4 o MySQL começou a aceitar
SubQueries (sub seleções ). Ex :
SELECT * FROM tbProdutos
WHERE codigo IN (select codigoProduto from tbPedidos );
Releases ainda trabalhados : 3.23 max ab
4.0.18
4.1.4 gamma
5.0.0 alpha
5.0.0a alpha
Michel Alves dos SantosMichel Alves dos Santos
Configuração básica do MySQL.
No Windows abra o prompt de comando
(command(98) ou cmd(like 200)). Execute os
comandos abaixo(dentro da pasta bin do mysql).
mysql
mysql > use mysql;
mysql > select user, password from user;
mysql > delete from user where user = '';
mysql > set password for root@localhost = password('teste');
mysql > flush privileges;
mysql > quit
mysql -u root -p
Pronto ! Terminado a
configuração básica do MySQL.
Michel Alves dos SantosMichel Alves dos Santos
Script de criação do banco.
# Server version 4.1.4-gamma-nt
CREATE DATABASE IF NOT EXISTS dbexemplodelphi;
USE dbexemplodelphi;
#
# Table structure for table tbprodutos
#
CREATE TABLE IF NOT EXISTS tbprodutos (
codigoDoProduto int(10) unsigned NOT NULL default '0',
descricaoDoProduto varchar(100) default NULL,
quantidadeEmEstoque float(5,2) default NULL,
unidadeDeMedida char(3) default NULL,
Constraint pkProduto PRIMARY KEY (codigoDoProduto)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Script de criação do banco de dados dbexemplodelphi para
MySQL.
Michel Alves dos SantosMichel Alves dos Santos
Componentes ADO.
Formas de conexão com o banco de dados MySQL .
Via BDE :
[MySQL] <-> [ODBC] <-> [BDE] <-> [Application]
Via ADO:
[MySQL] <-> [ODBC ou OLEDB] <-> [ADO] <-> [Application]
Via Componentes específicos:
[MySQL] <-> [Client library] <-> [Application]
Via protocolo de rede do MySQL: (Usando a libMySQL.dll)
[MySQL] <-> [Application]
(Paleta ADO)
Michel Alves dos SantosMichel Alves dos Santos
Instalando o MyODBC.
- O que é MyODBC ? Para
que serve ?
- Posso conectar ao banco
utilizando outra API?
- O que é libMySQL.dll ?
Michel Alves dos SantosMichel Alves dos Santos

DELPHI & MySQL - September 2004

  • 1.
    DELPHI & MySQL ConectandoBases de Dados MySQL com front-end Delphi através de objetos ADO. My Michel Alves dos SantosMichel Alves dos Santos
  • 2.
    Forma básica deacesso - BDE Interface do BDE Administrator Michel Alves dos SantosMichel Alves dos Santos
  • 3.
    Forma básica deacessoForma básica de acesso - BDE Paleta do BDE Admnistrador de Bancos e ferramentas SQL. Michel Alves dos SantosMichel Alves dos Santos
  • 4.
    Outras Formas deConexão. - Usando acesso a arquivo texto. - Usando components DBExpress. - Usando componentes ADO. - Usando Componentes IB (especifico Interbase/Firebird). - Usando componentes especializados (Ex: para MySQL- o Zeos, o TmySQL, o MySQL Data Access ou o MyComponents). (MySQL Data Access) Michel Alves dos SantosMichel Alves dos Santos
  • 5.
    Estudo de caso: MyComponents Arquitetura dos componentes MyComponents. http://help.scibit.com/mysqlcomp/html http://www.scibit.com/products/mysqlcomponents/index.htm Michel Alves dos SantosMichel Alves dos Santos
  • 6.
    Versões do MySQL -MySQL para Windows (recomendado para arquitetura NT). - MySQL para linux(todas as distribuições). - MySQL para Unix(HpUX, FreeBSD, etc). A partir da versão 4.1.4 o MySQL começou a aceitar SubQueries (sub seleções ). Ex : SELECT * FROM tbProdutos WHERE codigo IN (select codigoProduto from tbPedidos ); Releases ainda trabalhados : 3.23 max ab 4.0.18 4.1.4 gamma 5.0.0 alpha 5.0.0a alpha Michel Alves dos SantosMichel Alves dos Santos
  • 7.
    Configuração básica doMySQL. No Windows abra o prompt de comando (command(98) ou cmd(like 200)). Execute os comandos abaixo(dentro da pasta bin do mysql). mysql mysql > use mysql; mysql > select user, password from user; mysql > delete from user where user = ''; mysql > set password for root@localhost = password('teste'); mysql > flush privileges; mysql > quit mysql -u root -p Pronto ! Terminado a configuração básica do MySQL. Michel Alves dos SantosMichel Alves dos Santos
  • 8.
    Script de criaçãodo banco. # Server version 4.1.4-gamma-nt CREATE DATABASE IF NOT EXISTS dbexemplodelphi; USE dbexemplodelphi; # # Table structure for table tbprodutos # CREATE TABLE IF NOT EXISTS tbprodutos ( codigoDoProduto int(10) unsigned NOT NULL default '0', descricaoDoProduto varchar(100) default NULL, quantidadeEmEstoque float(5,2) default NULL, unidadeDeMedida char(3) default NULL, Constraint pkProduto PRIMARY KEY (codigoDoProduto) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; Script de criação do banco de dados dbexemplodelphi para MySQL. Michel Alves dos SantosMichel Alves dos Santos
  • 9.
    Componentes ADO. Formas deconexão com o banco de dados MySQL . Via BDE : [MySQL] <-> [ODBC] <-> [BDE] <-> [Application] Via ADO: [MySQL] <-> [ODBC ou OLEDB] <-> [ADO] <-> [Application] Via Componentes específicos: [MySQL] <-> [Client library] <-> [Application] Via protocolo de rede do MySQL: (Usando a libMySQL.dll) [MySQL] <-> [Application] (Paleta ADO) Michel Alves dos SantosMichel Alves dos Santos
  • 10.
    Instalando o MyODBC. -O que é MyODBC ? Para que serve ? - Posso conectar ao banco utilizando outra API? - O que é libMySQL.dll ? Michel Alves dos SantosMichel Alves dos Santos