DBXpress: Problemas com Chave primaria

Delphi

24/01/2007

olá amigos!
estou fazendo um cadastro e utilizo banco de dados IB6, e DBxPresss Para conectar no banco.
SqlDataSet.commandtext =´select * from OBRA where CODOBRA=:COD´

o que eu queria saber é como que eu faço para quando o clientDataSet receber um Append o registro já vir automaticamente com a ChavePrimaria Preenchida?

a chave primaria é um campo integer not null sequencial (1,2,3,4,5,6,7,...)

por que toda vez que recebe append eu preencho com ´0´, de pois do post o trigger faz o serviço de preencher o valor correto, eu queria fazer isso antes, na hora do append. existe essa possibilidade?

agradeço qualquer ajuda
obrigado


Daniel Martins

Daniel Martins

Curtidas 0

Respostas

Macario

Macario

24/01/2007

Olá.

Esta gerando alguma violação ou exceão? :roll:


GOSTEI 0
Daniel Martins

Daniel Martins

24/01/2007

está sim. é que estou trabalhando com Mestre e detalhe a tabela OBRA é Mestre da Tabela FOTOS_OBRA.
porém quando informo uma nova obra o CODObra começa com 0, logo quando vou inserir as fotos a chave CODObra da tbl FOTOS_Obras tbm começa com 0.

Para dar certo eu tenho que Salvar a Obra, atualizar a cache, pegar a ultima obra, abrir e liberar para inserir fotos... já fiz isso em outros programas, nao achei nem um pouko funcional... eu só que descobrir como fazer certo, ou achar uma nova maneira de fazer certo.


GOSTEI 0
Paullsoftware

Paullsoftware

24/01/2007

Mude a prorpiedade AutoRefresh do DataSetProvider para True e dispare a sua trigger no evento AffterInsert, talvez isso ajude, se bem que prefiro passar zero mesmo, mais assim deve funcionar...

uma outra forma seria no mesmo evento vc dá um Post e depois um Edit...

espero ter ajudado :wink:


GOSTEI 0
Daniel Martins

Daniel Martins

24/01/2007

esse é o detalhe, se eu der um post e depois um edit, se o usuário cancelar eu vou ter que testar se devo dar um cancel ou um delete...


GOSTEI 0
Daniel Martins

Daniel Martins

24/01/2007

Como q dispara a trigger?
geralmente eu faço um ApplyUpdates no onPost do Cds, daí a chave atualiza....

disparar uma trigger assim, nao sei nao..


GOSTEI 0
POSTAR