Página 1 de 1

MYSQL Browse conectando e criando base e tabela via SQL.

Enviado: 16 Abr 2020 13:20
por Itamar M. Lins Jr.
Ola!

Código: Selecionar todos

#require "rddsql"
#require "sddodbc"

#include "dbinfo.ch"
#include "simpleio.ch"
REQUEST SQLMIX, SDDODBC
#include "hwgui.ch"
PROCEDURE Main()

   LOCAL oDlg, oBrwDb, nConnection, nI, aI, cResp
   Set( _SET_DATEFORMAT, "yyyy-mm-dd" )
   rddSetDefault( "SQLMIX" )
   nConnection := rddInfo( RDDI_CONNECT, { "ODBC", "Server=localhost;Driver={MySQL ODBC 8.0 Unicode Driver};dsn=;User=root;Pwd=@itamar;" } )
   IF nConnection == 0
      hwg_msginfo( "Could not connect to server", rddInfo( RDDI_ERRORNO ), rddInfo( RDDI_ERROR ) )
      RETURN Nil
   ENDIF
   hwg_msginfo( str(nConnection) )
   //Criando o Banco de Dados (Pasta que vai ficar as tabelas)
   cResp := iif( rddInfo( RDDI_EXECUTE, "CREATE DATABASE IF NOT EXISTS `basedados`" )," Ok"," Falhou" )
   hwg_msginfo( 'rddInfo( RDDI_EXECUTE, "CREATE DATABASE IF NOT EXISTS `basedados`"'  + cResp )
   //Conectando (abrindo a pasta)
   cResp := iif( rddInfo( RDDI_EXECUTE, "USE `basedados`" ) ," Ok", " Falhou " )
   hwg_msginfo( 'rddInfo( RDDI_EXECUTE, "USE `basedados`"' + cResp ) 
   //Criando a Tabela = DBF => clientes
   cResp := iif( rddInfo( RDDI_EXECUTE, "DROP TABLE clientes" ), " Ok", " Falhou" )
   hwg_msginfo( 'rddInfo( RDDI_EXECUTE, "DROP TABLE clientes" ) ' + cResp )
   //Criando a estrutura da tabela = Dbcreate(DBF)
   cResp := iif( rddInfo( RDDI_EXECUTE, "CREATE TABLE clientes (IdCliente char(3), NOME char(50), Valor int(11))" ), " Ok"," Falhou")   
   hwg_msginfo( 'rddInfo( RDDI_EXECUTE, "CREATE TABLE clientes...)' + cResp )
   //Incluindo registros = APPEND   
   cResp := iif( rddInfo( RDDI_EXECUTE, "INSERT INTO clientes values ('001', 'Maria', 1),('002', 'Joπo', 2), ('003', 'Pedro', 3), ('004', 'Paulo', 4), ('005', 'Jonas', 5), ('006', 'Fernando', 6), ('007', 'Ruth', 7)" ), " Ok"," Falha")
   hwg_msginfo( 'rddInfo( RDDI_EXECUTE, "INSERT INTO clientes...)' + cResp )
   //Abrindo a tabela e puxando os dados já no padrπo DBF mamπo com açucar!, Veja que é SQL podemos já filtrar tudo, vem em DBF!
   cResp := iif( dbUseArea( .T., , "SELECT * FROM clientes", "cl" ), " Ok"," Falhou")
   Hwg_msginfo( 'dbUseArea( .T., , "SELECT * FROM clientes", "cl" )' + cResp )
   
   cl->(dbGoBottom())
   cl->(dbGoTop())
   
   INIT Dialog oDlg AT 0,0 SIZE 800,600 
   
   @ 10 ,10 BROWSE oBrwDb DATABASE SIZE 580, 385
   
   oBrwDb:AddColumn( HColumn():New( "Field1" , FieldBlock(Fieldname(1)),"C", 03,0) ) 
   oBrwDb:AddColumn( HColumn():New( "Field2" , FieldBlock(FieldName(2)),"C", 50,0) ) 
   oBrwDb:AddColumn( HColumn():New( "Field3" , FieldBlock(FieldName(3)),"N", 11,0) ) 
   
   ACTIVATE Dialog oDlg center
   
   dbCloseAll()

   RETURN Nil
Saudações,
Itamar M. Lins Jr.

MYSQL Browse conectando e criando base e tabela via SQL.

Enviado: 16 Abr 2020 21:39
por MSDN
Com a classe TMySQL tbem é simples criar o banco e tabelas sem precisar usar script pra isso !