MySQL + Internet + Delphi
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
Curtidas 0
Respostas
Weberley Guelsi
01/12/2010
será que ninguem nunca fez isso?
GOSTEI 0
Marcelo Diniz
01/12/2010
Exemplo abaixo utilizando os componente da ZEOS.
Criando a conexão com a base de dados remota pelo TZCONNECTION.
Coletando dados da tabela via consulta SQL utilizando o TZQUERY.
Visualizando os registros por um CLIENTDATASET.
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
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
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
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
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