Como eu uso Edit e Delete no IBDataSet?
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?
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
Curtidas 0
Respostas
Gandalf.nho
27/08/2004
É necessário comitar as transações para confirmar as mudanças no banco.
GOSTEI 0
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+
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