MySQL + Internet + Delphi

Delphi

01/12/2010

olá pessoal   a empresa onde trabalho tem um site e um banco de dados em MySQL que uma outra empresa entra com o login e senha e consulta nesse banco de dados, o problema é que eu tenho que alimentar esse banco de um programa local feito em Delphi, como eu acesso o banco MySQL e como eu insiro os registros la nesse banco e quais componentes usar?   agradeço qualquer ajuda se quizerem me adicionar no msn ai esta weberley28@hotmail.com
Weberley Guelsi

Weberley Guelsi

Curtidas 0

Respostas

Weberley Guelsi

Weberley Guelsi

01/12/2010

será que ninguem nunca fez isso?
GOSTEI 0
Marcelo Diniz

Marcelo Diniz

01/12/2010

Exemplo abaixo utilizando os componente da ZEOS.
Criando a conexão com a base de dados remota pelo TZCONNECTION.
var Conexao : TZConnection ;

function ConectaBanco(Status : Boolean): Boolean;beginif Status then   begin    Conexao  := TZConnection.Create(Application);
    with Conexao  do    begin      Name := 'Conexao';      Protocol := 'mysql-4.1';      HostName := '72.233.247.93';      Database := 'meubancodedados';      User := 'userbasededados';      Password := 'minhasenhasegreda';      ReadOnly := True;      Connected := Status ;      Result := true;    end;    end    else    begin       Conexao.Connected  := Status ;       Result := false;       FreeAndNil(Conexao);    end;
end;

Coletando dados da tabela via consulta SQL utilizando o TZQUERY.
function DadosUsuario (CliCodigo : String) : string;varQryDadosUsuario : TZQuery ;DspDadosUsuario : TDataSetProvider;CdsDadosUsuario : TClientDataSet ;begin   Conexaobanco(1);   QryDadosUsuario := TZQuery.Create(nil);
   with QryDadosUsuario do   begin      Connection := Conexao;      Name := 'QryDadosUsuario';      SQL.Add('select data_cadastro, nome, sobrenome, nome_contato,endereco, numero, bairro, ');      SQL.Add('cidade, estado, cep, telefone1, telefone2, email, senha, ');      SQL.Add('razao_social, cnpj, ie, rg, cpf from clientes ');      SQL.Add('where id_cli =' + QuotedStr(CliCodigo));      Open;   end;
       DspDadosUsuario := TDataSetProvider.Create(Application);       DspDadosUsuario.DataSet := QryDadosUsuario;
       CdsDadosUsuario := TClientDataSet.Create(Application);       CdsDadosUsuario.SetProvider(DspDadosUsuario);       CdsDadosUsuario.Open;
       Result := CdsDadosUsuario.XMLData;
       FreeAndNil(CdsDadosUsuario);       FreeAndNil(DspDadosUsuario);       FreeAndNil(QryDadosUsuario);
    Conexaobanco(0);
end;

Visualizando os registros por um CLIENTDATASET.
  CdsDadosUsuario.Close;  CdsDadosUsuario.XMLData :=  DadosUsuario(UserID);  CdsDadosUsuario.Open;




 
GOSTEI 0
Marcelo Diniz

Marcelo Diniz

01/12/2010


  Inserindo um registro:
function ControleDownloads(IdProg, IdCliente,IPCliente: string): boolean;var
  ZQryDownloads: TZQuery;  DataDownload : string;begin
  try  conexaobanco(1);  DataDownload :=  formatdatetime('DD/MM/YYYY',DATE) + ' ' + formatdatetime('HH:MM:SS',TIME);  ZQryDownloads := TZQuery.Create(Application);
  with ZQryDownloads do  begin    Connection := Conexao;    SQL.Add('Insert downloads set id_prog = ' + QuotedStr(IdProg) + ',');    SQL.Add('id_cli = ' + QuotedStr(IdCliente ) + ',');    SQL.Add('ip_dow = '+ QuotedStr(IPCliente) + ',');    SQL.Add('data_down = ' + QuotedStr(DataDownload));    ExecSQL;    Result := RowsAffected;  end;
  except     Result := false;
  end;  FreeAndNil(ZQryDownloads);  conexaobanco(0);
end;
GOSTEI 0
Weberley Guelsi

Weberley Guelsi

01/12/2010

obrigado por tentar   mas é o seguinte, o terra me passou     Nome do Banco: setamt Nome do Servidor: mysql-g13a.mysqldbserver.com Porta: 3306   coloquei isso no componente ZConnection, mas não funcionou
GOSTEI 0
Marcelo Diniz

Marcelo Diniz

01/12/2010


obrigado por tentar
 
mas é o seguinte, o terra me passou
 
 
Nome do Banco: setamt
Nome do Servidor: mysql-g13a.mysqldbserver.com
Porta: 3306
 
coloquei isso no componente ZConnection, mas não funcionou
 
Qual erro apareceu ao conectar ao servidor mysql ?
GOSTEI 0
POSTAR