Fórum Exclusão de Registro pelo IbDataSet não deu certo #46398

30/08/2004

0

como eu faço para excluir um registro em um ibdataset depois de uma consulta sql nele.
estou fazendo uma consulta no ibdataset(sql) e no resultado da consulta eu quero excluir um registro mas, eu já tentei:

ibdataset.delete

//////////////////
ibdataset.delete;
ibdataset.transaction.commit;


mas quando pesquiso novamente o registro ainda está lá.


Tap_pedroso

Tap_pedroso

Responder

Posts

30/08/2004

Afarias

A propriedade DeleteSQL deve estar preenchida com o código q deve ser executado ao chamar o método Delete. Em geral é algo como::

delete from tabela_tal
where campo_chave=:campo_chave



T+


Responder

Gostei + 0

30/08/2004

Tap_pedroso

a propriedade foi preeenchida automaticamente pelo ibdataset quando eu o liguei com a tabela no banco de dados e está assim:

delete from CONTASPAGAR
where
NCONTA = :OLD_NCONTA


quando eu coloco o evenTo .DELETE no botão eu não tenho que jogar o número da conta selecionada no grid no parametro OLD_NCONTA?


Responder

Gostei + 0

30/08/2004

Afarias

|quando eu coloco o evenTo .DELETE no botão eu não tenho que jogar o
|número da conta selecionada no grid no parametro OLD_NCONTA?

NÃO .. isso é feito automaticamente pelo componente! Basta fazer como está fazendo mesmo::

DataSet.Delete;
DataSet.Transaction.Commit;


Apenas q o campo NCONTA deve ser único (chave primária de preferência)


T+


Responder

Gostei + 0

30/08/2004

Tap_pedroso

então era isto,eu verifiquei e tinha + de 1 registro com o mesmo nº de conta e eu deixei somente 1 e ele excluiu.

então para excluir e alterar no ibdataset o registro deve ser único para o campo que o ibdataset irá usar para excluir o registro?


Responder

Gostei + 0

30/08/2004

Afarias

|então para excluir e alterar no ibdataset o registro deve ser único para o
|campo que o ibdataset irá usar para excluir o registro?

SIM -- na verdade, o SQL deve ´atingir´ apenas 1 registro, seja com um campo ou mais! Ex::

delete from tabela_tal
where campo1 = :old_campo1 and campo2 = :old_campo2

neste caso os campos campo1 e campo2 definem um registro único (juntos) -- como uma chave primária composta


T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar