Fórum problema com alteração de registro interbase 6 #245459
03/08/2004
0
Estou com o seguinte problema:
Numa tabela de relatorio e tenho um campo chamado ´impresso´ , cuja afinalidade justamente esta saber se o relatorio foi impresso e um campo data de impressao.
mas quando eu vou mudar os seus valores o delphi atualiza somente enquanto o programa em execução se fecho o programa e o executo novamente os campos impresso e data de impressao continuam marcados como se nao fossem sido impresso!
Alquem me disser porque isso acontece ?
minha linha de codigo é esta:
DM_SCI.DTSET_RELATORIO.First;
WHILE NOT DM_SCI.DTSET_RELATORIO.Eof DO
BEGIN
DM_SCI.DTSET_RELATORIO.Edit;
DM_SCI.DTSET_RELATORIOIMPRESSAO.AsInteger:=1;
DM_SCI.DTSET_RELATORIODT_IMPRESSAO.AsDateTime:=date;
DM_SCI.DTSET_RELATORIO.Post;
DM_SCI.DTSET_RELATORIO.Next;
END;
Transistorbr
Curtir tópico
+ 0Posts
03/08/2004
Roy
DM_SCI.DTSET_RELATORIO.First;
WHILE NOT DM_SCI.DTSET_RELATORIO.Eof DO
BEGIN
DM_SCI.DTSET_RELATORIO.Edit;
DM_SCI.DTSET_RELATORIOIMPRESSAO.AsInteger:=1;
DM_SCI.DTSET_RELATORIODT_IMPRESSAO.AsDateTime:=date;
DM_SCI.DTSET_RELATORIO.Post;
M_SCI.DTSET_RELATORIO.Next;
END;
//No final do seu while use ApplyUpdates e logo depois commitRetaining;
Gostei + 0
03/08/2004
Transistorbr
Gostei + 0
03/08/2004
Transistorbr
DM_SCI.DTSET_RELATORIO.First;
WHILE NOT DM_SCI.DTSET_RELATORIO.Eof DO
BEGIN
DM_SCI.DTSET_RELATORIO.edit;
DM_SCI.DTSET_RELATORIOIMPRESSAO.AsInteger:=1;
DM_SCI.DTSET_RELATORIODT_IMPRESSAO.AsDateTime:=date;
DM_SCI.DTSET_RELATORIO.Post;
DM_SCI.DTSET_RELATORIO.ApplyUpdates;
DM_SCI.SCITransaction.CommitRetaining;
dm_sci.DTSET_RELATORIO.Next;
END;
e ainda nao funcionou!!!
o q podera ser???
Gostei + 0
03/08/2004
Roy
if not DM_SCI.SCITransaction.intransaction then
DM_SCI.SCITransaction.starttransaction;
DM_SCI.DTSET_RELATORIO.First;
WHILE NOT DM_SCI.DTSET_RELATORIO.Eof DO
BEGIN
DM_SCI.DTSET_RELATORIO.edit;
DM_SCI.DTSET_RELATORIOIMPRESSAO.AsInteger:=1;
DM_SCI.DTSET_RELATORIODT_IMPRESSAO.AsDateTime:=date;
DM_SCI.DTSET_RELATORIO.Post;
DM_SCI.DTSET_RELATORIO.ApplyUpdates;
dm_sci.DTSET_RELATORIO.Next;
end;
try
DM_SCI.SCITransaction.CommitRetaining;
except
DM_SCI.SCITransaction.rollbackRetaining
end;
Atenção: verifique se o modify do componente DM_SCI.DTSET_RELATORIO tem o comando para atualizar os dados, ex:
update <<tabela>> set IMPRESSAO=:IMPRESSAO, DT_IMPRESSAO=:DTIMPRESSAO
WHERE <<CONDIÇÃO>>
Se isso não funcionar, talvez tenha algum problema com seu componente. Verifique se o mesmo se encontra atualizado.
Gostei + 0
04/08/2004
Transistorbr
são pessoas como vc q tornam esta a melhor e maior lista sobre delphi do pais.
Fico muito agradecido por sua ajuda!
o erro erra:
o modify do dtset_relatorio terminava assim:
..... and dt_impressao = :old_dt_impressao and impressao = :old_impressao;
foi so corrigir isso!
valeu
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)