Problemas ao gravar regs no banco

Delphi

05/12/2006

blz amigos,

estou com um probleminha que não estou conseguindo resolver, a questão é o seguinte, tenho dois componentes ´TIBDataSet´, um definido como master(dtsVendas) e o outro como sendo detalhe(dtsItens) através da propriedade datasource e no Editor Sql do dataSet detalhe eu escrevi o select(SELECT * FROM item_venda WHERE id_venda = :id_venda).

O problema ocorre quando eu vou gravar um novo registro (dtsVendas.post depois eu gravo os itens dtsItens.post) aparesse uma mensagem de erro de acesso violado na chave estrangeira da tabela de itens (item_venda), o que paresse a entender é que está gravando
primeiro os itens, estranho isso! como sitado acima eu primeiro gravei a venda para então depois gravar os itens.

estou usando o Interbase6 e o delphi7.

alguem sabe como resolver este problema?

agradeço,
Pestana.


Pestana

Pestana

Curtidas 0

Respostas

Pestana

Pestana

05/12/2006

alguem poderia me ajudar, eu ainda não consegui resolver este problema.


GOSTEI 0
Corcos

Corcos

05/12/2006

Debuga para saber aonde ele trava se é justamente quando grava o detalhe, mas veja 2 coisas antes:

1- se os campos são identicos

2- se quando vc grava o master vc da commit e depois grava o detalhe


GOSTEI 0
Pestana

Pestana

05/12/2006

o erro ocorre quando vou gravar a tabela de vendas, este tipo de erro ocorre quando se tenta gravar a tabela de itens primeiro, mas não é o caso.

se eu desfazer o master detalhe, ai dá certo ele grava, mas não é o correto.

try
-> dtSetVendas.Post;
dtSetItens.Post;
DM.Trans.CommitRetaining;
except
DM.Trans.RollbackRetaining;
raise;
end;

muito estranho isso! se fazer do mesmo jeito com componentes da paleta bde da certo.


GOSTEI 0
Pestana

Pestana

05/12/2006

UP


GOSTEI 0
Pestana

Pestana

05/12/2006

UP


GOSTEI 0
Pestana

Pestana

05/12/2006

UP


GOSTEI 0
Pestana

Pestana

05/12/2006

UP


GOSTEI 0
POSTAR