Re: [firebase-br] Não grava registro em um determinado periodo..
Dimas Bolognani
dimas em dbsoftinformatica.com.br
Qui Fev 8 09:35:19 -03 2007
Marcelo
O componente de uso é o IBO e nele esta configurado Read Committed, mas a
intenção é abrir a fechar a transação a cada rotina ficando a transação
aberto o mesmo tempo possivel.
a rotina q usa p/ gravar os dados na tabela q as vezes não grava o registro
e assim:
DM.IBCaixa.Unprepare;
DM.IBCaixa.Close;
DM.IBCaixa.SQL.Clear;
DM.IBCaixa.SQL.Add('INSERT INTO CAIXA ');
DM.IBCaixa.SQL.Add('(CX_DATAMOV,CX_HORAMOV,CX_CRED_DEB,CX_DESCLANCAMENTO,');
DM.IBCaixa.SQL.Add('CX_TIPOENTRADA,CX_VALORDINHEIRO,CX_VALORCHEQUE,CX_VALORCARTAO,CX_VALORPRAZO,');
DM.IBCaixa.SQL.Add('CX_VALORTROCO,CX_NUMEROTERMINAL,CX_CODVENDEDOR,CX_NPEDIDO,CX_NCOMPROVANTE,');
DM.IBCaixa.SQL.Add('CX_NUMEROCUPOMECF,CX_CAIXAFECHADO,CX_CODFORMAPAGTO,EMPRESA)');
DM.IBCaixa.SQL.Add('VALUES');
DM.IBCaixa.SQL.Add('(:DATAMOV,:HORAMOV,:CRED_DEB,:DESCLANCAMENTO,');
DM.IBCaixa.SQL.Add(':TIPOENTRADA,:VALORDINHEIRO,:VALORCHEQUE,:VALORCARTAO,:VALORPRAZO,');
DM.IBCaixa.SQL.Add(':VALORTROCO,:NUMEROTERMINAL,:CODVENDEDOR,:NPEDIDO,:NCOMPROVANTE,');
DM.IBCaixa.SQL.Add(':NUMEROCUPOMECF,:CAIXAFECHADO,:CODFORMAPAGTO,:EMPRESA)');
DM.IBCaixa.Prepare;
DM.IBCaixa.ParamByName('DATAMOV').AsDate := datadosupervisor;
DM.IBCaixa.ParamByName('HORAMOV').AsDateTime := TIME;
DM.IBCaixa.ParamByName('DESCLANCAMENTO').AsString := EditCliente.Text;
DM.IBCaixa.ParamByName('VALORDINHEIRO').AsDouble := 0;
DM.IBCaixa.ParamByName('VALORCHEQUE').AsDouble := 0;
DM.IBCaixa.ParamByName('VALORCARTAO').AsDouble := 0;
DM.IBCaixa.ParamByName('VALORPRAZO').AsDouble := 0;
DM.IBCaixa.ParamByName('VALORTROCO').AsDouble := 0;
DM.IBCaixa.ParamByName('NUMEROTERMINAL').AsInteger := VTERMINAL;
DM.IBCaixa.ParamByName('CODVENDEDOR').AsInteger := VUSUARIO;
DM.IBCaixa.ParamByName('CRED_DEB').AsString := Edit_C_D.Text;
DM.IBCaixa.ParamByName('TIPOENTRADA').AsString := Edit_R_V.Text;
DM.IBCaixa.ParamByName('NPEDIDO').AsInteger := 0;
DM.IBCaixa.ParamByName('NCOMPROVANTE').AsInteger :=
strtoint(NUMERACAO);
DM.IBCaixa.ParamByName('NUMEROCUPOMECF').AsInteger := 0;
DM.IBCaixa.ParamByName('CAIXAFECHADO').AsString := 'N';
DM.IBCaixa.ParamByName('CODFORMAPAGTO').AsInteger :=
trunc(CodFormaPagto.Value);
DM.IBCaixa.ParamByName('EMPRESA').AsInteger := VEMPRESA;
DM.IBCaixa.ParamByName('VALORDINHEIRO').AsDouble :=
NEditDinheiro.Value;
DM.IBCaixa.ParamByName('VALORCHEQUE').AsDouble := NEditCheque.Value;
DM.IBCaixa.ParamByName('VALORCARTAO').AsDouble := NEditCartao.value;
DM.IBCaixa.ParamByName('VALORTROCO').AsDouble := NEditTroco.Value;
DM.IBCaixA.ExecSQL;
DM.IBCaixa.SQL.Clear;
DBSOFT INFORMÁTICA LTDA
OURO FINO - MG
TEL.(35)3441-5254
Dimas Bolognani
----- Original Message -----
From: "Marcelo Silva" <marcvan em ig.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Thursday, February 08, 2007 8:29 AM
Subject: Re: [firebase-br] Não grava registro em um determinado periodo..
Será que vc não está esquecendo de algum post ???
Por exemplo as vezes voces pode estar dando o post na mesma primeira tabela
e esquecendo da segunda, por ter usado o famoso Ctrl+C e Ctrl+V ... isso
ocorre muito :)
Ex.
tabela1.append;
tabela1campo.astipo = valor;
tabela1.post;
tabela2.append;
tabela2campo.astipo = valor;
tabela1.post; <- olha aqui o esquecimento o post na tabela 1 denovo ou sem
post
transacao.commit;
Outro detalhe... visto que esta usando COMMIT ao inves de COMMITRETAINNING
lembre-se de que o Commit fecha a comunicação com o banco logo em seguida,
ou seja se ele estiver "entre" o primeiro e o segundo POST o segundo não vai
ser executado pois a transação estará fechada.
Apesar de o try ajudar muito, muitas vezes ele pode ser o vilão da história
ocultando os erros :) verifique-os
----------------------
Marcelo Silva
(11) 9693-4251
(11) 6723-3106 - LESTCRED
MSN: marcvan em ig.com.br
----- Original Message -----
From: "Dimas Bolognani" <dimas em dbsoftinformatica.com.br>
To: "Antonio Carlos" <a.lima.silva em terra.com.br>; "FireBase"
<lista em firebase.com.br>
Sent: Thursday, February 08, 2007 8:09 AM
Subject: Re: [firebase-br] Não grava registro em um determinado periodo..
NÃO DA ERRO NENHUM....
DBSOFT INFORMÁTICA LTDA
OURO FINO - MG
TEL.(35)3441-5254
Dimas Bolognani
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista