applyupdates(0) para -1 há uma leve diferença que costuma ser tão fatídica quanto simples. Se você der Aply 0, Caso o CDS encontre algum erro, ele aborta tudo. Não grava nada no banco. Se você der o - 1, Ele grava dando erro ou não resultando em dados inconsistentes e faltando.
Uma dica de como usar o ApplyUpdates, é como eu faço, no evento AfterPost do CDS, com exceção de relacionamentos M/D, aonde eu dou o Apply diretamente no master que ele se incumbe de gravar nos Details: procedure TDMMat.cdsItensKitAfterPost(DataSet: TDataSet); begin if (DataSet as TClientDataSet).ApplyUpdates(0) <> 0 then raise EDataBaseError.Create(Exception(exceptobject).Message); end; []s Walter Alves Chagas Junior Belo Horizonte - MG - Brazil [EMAIL PROTECTED] http://www.geocities.com/SiliconValley/Bay/1058 MSN: [EMAIL PROTECTED] --- Em delphi-br@yahoogrupos.com.br, Gustavo André de Freitas <[EMAIL PROTECTED]> escreveu > > > ok, agora funcionou, obrigado. outra dúvida, aprendi a dar > applyupdates(0), qual a diferença para o applyupdates(-1) ? > > --- Em delphi-br@yahoogrupos.com.br, "Eduardo Frighetto" > <frighetto@> escreveu > > > > Voce esta dando clientdataset.ApplyUpdates(-1); ????? > > Se nao fizer isso, os dados nao sao persistidos. > > > > ----- Original Message ----- > > From: Gustavo André de Freitas > > To: delphi-br@yahoogrupos.com.br > > Sent: Wednesday, January 10, 2007 6:36 AM > > Subject: [delphi-br] Migrando do Paradox para o Firebird 1.5 > > > > > > Bom dia a todos! > > > > Estou migrando do Paradox para o Firebird 1.5 e estou encontrando > > algumas dúvidas, gostaria que me ajudassem: > > > > 1- no paradox, quando queria editar um registro, usava o seguinte > > código: > > > > if table.state in [dsinsert,dsedit] then > > table.post; > > > > tentei algo parecido no firebird > > if datamodule.clientdataset.State in [dsInsert,dsEdit] then > > datamodule.clientdataset.Post; > > > > não altera o registro. > > > > 2- no paradox, quando queria excluir um registro, usava o > seguinte > > código: > > > > table.delete; > > > > tentei algo parecido no firebird > > > > datamodule.clientdataset.delete; > > > > não funcionou. > > > > Peço aos amigos que me ajudem nestas dúvidas simples, mas > difíceis > > para quem está começando > > como eu. > > > > um abraço a todos! > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > >