Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Atualizar para Tabela o Arquivo Retorno


Alberto Mota

Pergunta

Prezados colegas, acredito que esse problema é a culminação de um trabalho

de boleto bancário, onde se deve quitar os boletos liquidados pelo Banco.

Depois de muita procura, não encontrei a solução:

Ao clicar surge a mensagem de erro: Incorrect syntax near TblMovimentação.

A mensagem é clara, mas não consigo resolver.

Eis o código completo:

begin

AdoQuery1.Close;

AdoQuery1.sql.clear;

AdoQuery1.sql.add ('select * from TblArqRetorno ');

AdoQuery1.Open;

if not (AdoQuery1.IsEmpty) then

begin

with AdoQuery2 do

begin

close;

AdoQuery2.sql.clear;

AdoQuery2.sql.add (' Update TblMovimentacao TblMovimentacao.vrpago = AdoQuery1.vr, ') ;

AdoQuery2.sql.add (' TblMovimentacao.dtpgto = AdoQuery1.dt ');

AdoQuery2.sql.add (' FROM dbo.TblMovimentacao ');

AdoQuery2.sql.add (' INNER JOIN TblArqRetorno ON TblMovimentacao.seq = TblArqRetorno.numerodoc ');

AdoQuery2.open;

showmessage('boletos quitados com sucesso!!!');

end;

end;

end;

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Olá, tive muitos problemas assim pois usava muitos sql.add, no entanto tente colocar tudo junto..

Assim:

begin
AdoQuery1.Close;
AdoQuery1.sql.clear;
AdoQuery1.sql.add ('select * from TblArqRetorno ');
AdoQuery1.Open;
if not (AdoQuery1.IsEmpty) then
begin
with AdoQuery2 do
begin
close;
AdoQuery2.sql.clear;
AdoQuery2.sql.add ('Update TblMovimentacao TblMovimentacao.vrpago = AdoQuery1.vr, ' +
'TblMovimentacao.dtpgto = AdoQuery1.dt ' +
'FROM dbo.TblMovimentacao ' +
'INNER JOIN TblArqRetorno ON TblMovimentacao.seq = TblArqRetorno.numerodoc ');

AdoQuery2.open;
showmessage('boletos quitados com sucesso!!!');
end;
end;
end;

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Prezado Douglas, obrigado pela atenção.

Meu código estava incompleto e tambem adaptei conforme sua sugestão.

Entretando surge uma nova mensagem:

"The multi-part identifier AdoQuery1.vr could not be bound"

Alterei a linha para

AdoQuery2.sql.add ('Update TblMovimentacao Set TblMovimentacao.vrpago = 200, ' + ...

E a mensagem de erro foi para o campo dt da linha seguinte:

The multi-part identifier AdoQuery1.dt could not be bound

Acredito que o problema é no parametro da tabela de origem que quero manipular, no caso AdoQuery1.

Segue o código que alterei. Um abraço.

AdoQuery1.Close;

AdoQuery1.sql.clear;

AdoQuery1.sql.add ('select * from TblArqRetorno ');

AdoQuery1.Open;

if not (AdoQuery1.IsEmpty) then

begin

with AdoQuery2 do

begin

close;

AdoQuery2.sql.clear;

AdoQuery2.sql.add ('Update TblMovimentacao Set TblMovimentacao.vrpago = AdoQuery1.vr, ' +

'TblMovimentacao.dtpgto = AdoQuery1.dt ' +

'FROM dbo.TblMovimentacao ' +

'INNER JOIN TblArqRetorno ON TblMovimentacao.seq = TblArqRetorno.numerodoc ');

AdoQuery2.open;

showmessage('boletos quitados com sucesso!!!');

end;

end;

Link para o comentário
Compartilhar em outros sites

  • 0

Resolvi meu problema. E foi até relativamente fácil.

Como estou utilizando o sql server criei uma stored procedure.

USE [secraso]

GO

/****** Object: StoredProcedure [dbo].[sp_quita] Script Date: 12/28/2009 18:48:54 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

ALTER PROCEDURE [dbo].[sp_quita]

AS

UPDATE dbo.TblMovimentacao

SET dbo.TblMovimentacao.vrpago = dbo.TblArqRetorno.vr,

dbo.TblMovimentacao.dtpgto = dbo.TblArqRetorno.dt

FROM dbo.TblMovimentacao

INNER JOIN dbo.TblArqRetorno ON dbo.TblMovimentacao.seq = dbo.TblArqRetorno.numerodoc

E depois foi só chama-la no Delphi.

ADOStoredProc1.Close;

ADOStoredProc1.ExecProc;

showmessage('boletos quitados com sucesso!!!');

Douglas, obrigado pela atenção

Bom, pessoal, Feliz Ano Novo a todos!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...