Parte 5 - Compilando um programa demo
Bom, tudo já está instalado e configurado, então agora é hora de compilar um programa demo para testar o MySQL.
Arquivo: demo.prg/*********************************************
* compilar: hbmk2 demo.prg rddsql.hbc sddodbc.hbc
*********************************************/
#include "dbinfo.ch"
#define RDDI_CONNECT 1001
#define RDDI_DISCONNECT 1002
#define RDDI_EXECUTE 1003
ANNOUNCE RDDSYS
REQUEST SQLMIX, SDDODBC
**********************************************
Function Main()
LOCAL nConnection
RDDSETDEFAULT( "SQLMIX" )
SetMode(25,80)
nConnection := RDDINFO( RDDI_CONNECT, { "ODBC", "Server=localhost;Driver={MySQL ODBC 3.51 Driver};dsn=;User=root;pwd=suasenha;database=test;" } )
IF nConnection == 0
Alert("Erro na conexao com o servidor")
Return nil
ENDIF
If CriaTabela()
DBUSEAREA( .T.,, "SELECT * FROM clientes", "clientes" )
INDEX ON FIELD->CODIGO TAG codigo TO clientes
GO TOP
Else
Return nil
EndIf
/* Todos os registros */
Browse()
/* Apenas SEXO=F */
DBUSEAREA( .T.,, "SELECT * FROM clientes WHERE SEXO='F'", "mulheres" )
INDEX ON FIELD->CODIGO TAG codigo TO mulheres
GO TOP
Browse()
DBCLOSEALL()
Return nil
**********************************************
Function CriaTabela()
Local ret := .T., cQuery
cQuery:="DROP TABLE clientes"
RDDINFO(RDDI_EXECUTE, cQuery)
cQuery:="CREATE TABLE clientes ("+;
"CODIGO char(4),"+;
"NOME char(40),"+;
"IDADE int(2),"+;
"SEXO char(1))"
If RDDINFO(RDDI_EXECUTE, cQuery)
cQuery:="INSERT INTO clientes values "+;
"('0001','PAULO CESAR TOLEDO',51,'M'),"+;
"('0002','ABDIAS JOSE DE BARROS',30,'M'),"+;
"('0003','ADRIANA DE JESUS LEAO',22,'F'),"+;
"('0004','JOYCE LACERDA MARIM',18,'F'),"+;
"('0005','JUAN HENRIQUE PEREIRA',35,'M'),"+;
"('0006','JULIANO TETSUO KOGA',40,'M'),"+;
"('0007','MABILE VALE NEVES',29,'F'),"+;
"('0008','MACIEL DOS SANTOS',37,'M'),"+;
"('0009','SABRINA ALMEIDA ALEXANDRE',45,'F'),"+;
"('0010','YAGO LEITE QUEIROZ',53,'M')"
If !RDDINFO(RDDI_EXECUTE, cQuery)
Alert("Erro ao incluir registros na tabela Clientes")
ret := .F.
EndIf
Else
Alert("Erro ao criar a tabela Clientes")
ret := .F.
EndIf
Return ret
Atenção: na linha 21 do código acima, procure por
suasenha e troque pela senha que você colocou na instalação do MySQL.
Para compilar o código acima, digite:
hbmk2 demo.prg rddsql.hbc sddodbc.hbcSe tudo estiver certo, na hora que o demo.exe for executado, será apresentado um browse com os registros da tabela CLIENTES que foi criada no banco de dados TEST do seu MySQL.
O primeiro browse vai mostrar todos os registros, quando você pressionar ESC para sair do browse será apresentado um segundo browse apenas com os registros de SEXO='F'.
Abraços,