GARANTIR DESCONTO

Fórum Erro ao excluir no IB #288303

16/07/2005

0

uso os componetes
IBDatabase, IBTransaction, IBQuery e IBUpdateSQL.

No IBUpdateSQL tenho:

no DeleteSQL

delete from CLIENTES_DEPREF
where
GS_CDP_CODACES = :OLD_GS_CDP_CODACES and
GS_CDP_NOME = :OLD_GS_CDP_NOME and
GS_CDP_DATACAD = :OLD_GS_CDP_DATACAD and
GS_CDP_DATACON = :OLD_GS_CDP_DATACON and
GS_CDP_TELEFONE = :OLD_GS_CDP_TELEFONE and
GS_CDP_APROVA_SN = :OLD_GS_CDP_APROVA_SN

No Insert SQL

insert into CLIENTES_DEPREF
(GS_CDP_CODACES, GS_CDP_NOME, GS_CDP_DATACAD,
GS_CDP_DATACON, GS_CDP_TELEFONE,
GS_CDP_APROVA_SN)
values
(:GS_CDP_CODACES, :GS_CDP_NOME, :GS_CDP_DATACAD,
:GS_CDP_DATACON, :GS_CDP_TELEFONE,
:GS_CDP_APROVA_SN)

No Modyfyque SQL

update CLIENTES_DEPREF
set
GS_CDP_CODACES = :GS_CDP_CODACES,
GS_CDP_NOME = :GS_CDP_NOME,
GS_CDP_DATACAD = :GS_CDP_DATACAD,
GS_CDP_DATACON = :GS_CDP_DATACON,
GS_CDP_TELEFONE = :GS_CDP_TELEFONE,
GS_CDP_APROVA_SN = :GS_CDP_APROVA_SN
where
GS_CDP_CODACES = :OLD_GS_CDP_CODACES and
GS_CDP_NOME = :OLD_GS_CDP_NOME and
GS_CDP_DATACAD = :OLD_GS_CDP_DATACAD and
GS_CDP_DATACON = :OLD_GS_CDP_DATACON and
GS_CDP_TELEFONE = :OLD_GS_CDP_TELEFONE and
GS_CDP_APROVA_SN = :OLD_GS_CDP_APROVA_SN

no refreshSQL

Select
GS_CDP_CODACES,
GS_CDP_NOME,
GS_CDP_DATACAD,
GS_CDP_DATACON,
GS_CDP_TELEFONE,
GS_CDP_APROVA_SN
from CLIENTES_DEPREF
where
GS_CDP_CODACES = :GS_CDP_CODACES and
GS_CDP_NOME = :GS_CDP_NOME and
GS_CDP_DATACAD = :GS_CDP_DATACAD and
GS_CDP_DATACON = :GS_CDP_DATACON and
GS_CDP_TELEFONE = :GS_CDP_TELEFONE and
GS_CDP_APROVA_SN = :GS_CDP_APROVA_SN

Minha dúvia é o seguinte ele insere sem problemas, más não deleta, dá uma mensagem, ATUALIZAÇÃO FALHOU...será que tem algo de errado com os códigos acima ?


Gigatel

Gigatel

Responder

Posts

16/07/2005

Gandalf.nho

Não coloque todos os campos na cláusula WHERE das propriedades UpdateSQL e DeleteSQL, coloque apenas os campos que constituem a chave primária da tabela.


Responder

Gostei + 0

16/07/2005

Gigatel

Não coloque todos os campos na cláusula WHERE das propriedades UpdateSQL e DeleteSQL, coloque apenas os campos que constituem a chave primária da tabela.


nesta tabela não tem chave primária, é somente uma tabela filho, vamos supor que eu queira deletar todos os ítens de todas as tabelas..como ficaria os códigos...


Responder

Gostei + 0

16/07/2005

Gandalf.nho

Coloque um campo para servir de chave primária na sua tabela e tente usar esse campo na cláusula WHERE


Responder

Gostei + 0

16/07/2005

Gigatel

Coloque um campo para servir de chave primária na sua tabela e tente usar esse campo na cláusula WHERE


más é obrogatório o uso de chave primária ?


Responder

Gostei + 0

17/07/2005

Gandalf.nho

Obrigatório não é, mas é aconselhável ter um campo (ou conjunto de campos) que sirva como identificador único de cada registro.


Responder

Gostei + 0

17/07/2005

Gigatel

Obrigatório não é, mas é aconselhável ter um campo (ou conjunto de campos) que sirva como identificador único de cada registro.


Valeu...com base em sua sugestão conseguí resolver o problema..obrigado...


Responder

Gostei + 0

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

Aceitar