Como receber dados do Web Service e salvar no banco de dados?

19/07/2019

0

To com o seguinte problema eu to precisando saber como fazer para pegar os dados de uma Como receber dados do Web Service e salvar no banco de dados...
vi alguns videos mais todas já se baseava como se a pessoa já soubesse montar toda a estrutura para criar o programinha para ter acesso a Web Service...
eu não sei nada sobre Web Service se algum tiver um tutorial de como fazer um do zero ou algo que possa ajudar...

Eu já tenho o link da Web Service com a API e tudo para poder acessar e buscar esses dados...
P.s.: Utilizo Delphi 10.2 e firebird
Eduardo Silva

Eduardo Silva

Responder

Post mais votado

13/08/2019

To com o seguinte problema eu to precisando saber como fazer para pegar os dados de uma Como receber dados do Web Service e salvar no banco de dados...
vi alguns videos mais todas já se baseava como se a pessoa já soubesse montar toda a estrutura para criar o programinha para ter acesso a Web Service...
eu não sei nada sobre Web Service se algum tiver um tutorial de como fazer um do zero ou algo que possa ajudar...

Eu já tenho o link da Web Service com a API e tudo para poder acessar e buscar esses dados...
P.s.: Utilizo Delphi 10.2 e firebird


Cara, a muitos anos não posto nada nesse blog, deve ser JESUS por ti hoje para eu fazer todo esse esforço, mas vamos lá. Vou acreditar que você criou, configurou e liberou o acesso remoto corretamente mas vou deixar esse link para você poder ver se esqueceu algo ok?

Link: https://andersonworkinfo.wordpress.com/2019/08/13/webservice-criando-configurando-e-liberando-acesso-remoto/

Depois disso faz isso aqui:

Considerando que você tem um DataModulo local, vou chamado de DMLocal e que você usao ADOQuerys eu vou chamar de ADOQGravar, ADOQConsulta, ADOQTemp, ADOQDeletar.


O exemplo é para UNIDAC mas faça com o seu componente direitinho que dá certo.

1. Criar um dataModulo para as conexões com o banco de dados no WebService;

- Crie um data modulo e coloque o nome dele de DMConexaoWeb e UNIT untDMConexaoWeb;
- Insira um TUniConnection e coloque o nome de unConexaoBD;
- Insira um TMySQLUniProvider, NÃO PRECISA TROCAR O NOME;
- Insira as querys TUniQuery e coloque os nomes que você preferir eu vou usar UQConsultar, UQTemp, UQDeletar, UQGravar;

Passemos para o passo 2 onde vamos criar a conexão com o Banco de Dados no WebService.

2. Preparando o DMConexaoWeb para conectar ao banco de dados remoto.

- Dê um duplo click no componente e informe:
Provider: MySQL
Server: www.seusiteaqui.com.br
Port: 3306 - Se você não mudou.
Password: xxxxxx - Sua password.
Database: prefixo_bancodados - Nome do seu banco de dados.

{Desmarque a caixa de seleção LoginPrompt}.

== OBS: Preste bem atenção aqui ==
- Declare no USES do seu formulário a UNIT do seu DATAMODULO no exemplo untDMConexaoWeb;

Agora no botão, de execução da sua consulta, no evento onclick faça isso:

try
if DMConexaoWeb.unConexaoBD.Connected = false then // Coloquei isso daqui pq o webservice encerra a conexão com pouco tempo parado então
DMConexaoWeb.unConexaoBD.Connected := true; // é necessário para não dar problema.

With DmConexaoWeb.UQConsultar do
begin
Close;
SQl.Clear;
SQL.Add('Select * from SuaTabela');
Open;
While not DmConexaoWeb.UQConsultar.EOF do
begin
With DmLocal.ADOQGravar do
begin
close;
sql.clear;
sql.add('insert into SuaTabelaLocalRecebendo');
sql.add('(campo01, campo02, campo03)');
sql.add('values');
sql.add('(:campo01, :campo02, :campo03)');
ParamByName('Campo01').AsTipoDoCampo := DmConexaoWeb.UQConsultar.FieldByName('Campo01').AsTipoDoCampo;
// Tipo do campo pode ser String, Integer, Date, Datetime e etc
// Preencha todos os parametros de conexão para receber os dados direitinho e siga em frente o código, fiz só um ai em cima.
ExecSQL;
end;
Next; // esse comando passa para o próximo registro da tabela.
end;
end;
except
ShowMessage('Erro Blá Blá Blá');
Exit;
end;


Espero ter ajudado.
Abraço.

QQ coisa me chama no email.
anderson.workinfo@gmail.com

Anderson Gonçalves

Anderson Gonçalves
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar