[firebase-br] Problema com SQL

firebase em dominioinf.com.br firebase em dominioinf.com.br
Qui Mar 19 09:06:14 -03 2015


Bom dia a todos,

Estou com o seguinte problema:

Em algumas tabelas alguns dados estavam se repetindo.
Então fui observando o comportamento do sistema e descobri o seguinte,

quando eu fecho uma Ordem de Serviço, e quando é gerado uma nota fiscal 
e a parcela é com contas a receber,
eu insiro os valores dessa forma (simplifiquei o exemplo, tem muito mais 
campos):

DMX.IBOutros1.Close;
DMX.IBOutros1.SQL.Clear;
DMX.IBOutros1.SQL.Add('Insert Into 
DetailReceber(Codigo,NOTAFISCAL)Values(:Codigo,:NOTAFISCAL)');
DMX.IBOutros1.ParamByName('Codigo').AsInteger:= 
DMREMOTO.IBPEDIDOSOSNUMCLIENTE.Value;
if DMX.IBNotaFiscalCODIGO.Value = DMREMOTO.IBPedidosOSCODIGO.Value then  
  // aqui é que esta o problema
DMX.IBOutros1.ParamByName('NOTAFISCAL').AsString:= 
DMX.IBNotaFiscalNUMNOTA.Value;
DMX.IBOutros1.ExecSQL;


Quando faço uma proxima O.S, o valor no campo nota fiscal puxa o valor 
da nota fiscal anterior, que pelo
que parece ficou gravado no buffer DMX.IBOutros1 do fechamento anterior.

Entao fica assim

CODIGO      NOTAFISCAL
1           000033             Aqui foi gerado nota
2           000033             aqui repete a ação da O.S anterior, pq 
aqui não foi gerando nota e deveria estar setado como null pq nao passei 
valor nenhum.


Quando faço DMX.IBOutros1.Close achei que esse comando limpava o 
componente de todos os dados anteriores, mas parece que não.

Existe algum comando que faça isso?

Uso delphi 7 e IBO

Grato por qualquer ajuda




Mais detalhes sobre a lista de discussão lista