Como eu uso Edit e Delete no IBDataSet?

Firebird

27/08/2004

para inserir eu uso:

ibdataset.insert;
ibdataset.post;
ibdataset.applyupdates;

para editar

if ibdataset.state=dsEdit then
begin
ibdataset.post;
ibdataset.applyupdates;
end;
mas se eu mando pesquisa o registro alterado ou fecho e abro o sistema a alteração não está lá.

para excluir

ibdataset.delete;
ibdataset.applyupdates;

ele remove visualmente mas se eu mando pesquisa o registro ou fecho e abro o sistema o registro excluído ainda está lá.
qual é a maneira correta?


Tap_pedroso

Tap_pedroso

Curtidas 0

Respostas

Gandalf.nho

Gandalf.nho

27/08/2004

É necessário comitar as transações para confirmar as mudanças no banco.


GOSTEI 0
Afarias

Afarias

27/08/2004

ibdataset.insert;
ibdataset.post;
[color=red:fd12df6ce1]ibdataset.applyupdates; [/color:fd12df6ce1] <-- a não ser q esteja usando cached updates, retire esta linha de código

if ibdataset.state=dsEdit then
begin
ibdataset.post;
[color=red:fd12df6ce1]ibdataset.applyupdates; [/color:fd12df6ce1] <-- o mesmo aqui!
end;


ibdataset.delete;
[color=red:fd12df6ce1]ibdataset.applyupdates; [/color:fd12df6ce1] <-- mesma coisa

e como disse a gandalf.nho, faça um commit da transação::

ibdataset.Transaction.CommitRetainig;

ou

ibdataset.Transaction.Commit;


T+


GOSTEI 0
POSTAR