Erro ao excluir no IB
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 ?
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
Curtidas 0
Respostas
Gandalf.nho
16/07/2005
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.
GOSTEI 0
Gigatel
16/07/2005
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...
GOSTEI 0
Gandalf.nho
16/07/2005
Coloque um campo para servir de chave primária na sua tabela e tente usar esse campo na cláusula WHERE
GOSTEI 0
Gigatel
16/07/2005
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 ?
GOSTEI 0
Gandalf.nho
16/07/2005
Obrigatório não é, mas é aconselhável ter um campo (ou conjunto de campos) que sirva como identificador único de cada registro.
GOSTEI 0
Gigatel
16/07/2005
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...
GOSTEI 0