eu pego algum campo da tabela faço um refresh e apos um locate pra achar o registro.
Em 20 de agosto de 2010 11:39, Fabiano Moura <mctbra...@gmail.com> escreveu: > > > Bom dia! > > Estou desenvolvimento uma aplicação utilizando Delphi 2007 e o banco de > dados é Firebird. Tenho uma tabela aonde a chave primária é o ID (chave > simples) e criei um generator para não ter o perigo de adicionar o mesmo > código para os demais registros. Criei também um trigger que verifica, se o > campo ID for nulo, ele gera o código e atribui ao campo, conforme exemplo > abaixo: > > CREATE GENERATOR GEN_LAB_TABELA_ID; *// cria o generator* > > SET TERM ^ ; > > CREATE OR ALTER TRIGGER LAB_TABELA_BI FOR LAB_TABELA *//cria o trigger que > se o campo código (ID) for nulo, a trigger atribui um código de acordo com > o > generator* > ACTIVE BEFORE INSERT POSITION 1 > as > begin > if (new.codigo is null) then > new.codigo = gen_id(gen_lab_tabela_id,1); > end > ^ > > SET TERM ; ^ > > Adicionei os campos da minha tabela no sqlquery e clientdataset e atribui > a chave ao campo código e fiz as configurações necessárias no provider. > Testei a aplicação e funciona normalmente, porém, na minha tela de > cadastro, > eu tenho um grid aonde adiciono os ítens relacionados a tabela principal. > No > meu caso a tabela A é a tabela principal e a tabela B a secundária. O > relacionamento que criei entre as tabelas é 1:N. O meu problema, é que após > salvar os dados na tabela A, o banco cria e atribui corretamente o ID, > porém, não retorna valor no meu clientdataset da tabela A, para que eu > possa > pegar o código gerado e relacionar com a tabela B. > Como eu faço isso? Preciso de uma solução urgente! Já fiz algumas > pesquisas na net, mas o que eu encontro é gambiarra, ou o pessoal chamar o > generator direto na aplicação e isso não queria, pois estou preparando a > aplicação para possíveis conexão com banco de dados diferentes, como > Firebird e Oracle, mas isso é outra questão. > > Obrigado, > > Fabiano > > [As partes desta mensagem que não continham texto foram removidas] > > > -- Felipe Govoni --------------------- GOVONI Sistemas Fone 8472-8718 www.govoni.com.br [As partes desta mensagem que não continham texto foram removidas] ------------------------------------ -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> <*> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages <*> Para falar com o moderador, envie um e-mail para: delphi-br-ow...@yahoogrupos.com.br Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: delphi-br-unsubscr...@yahoogrupos.com.br <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html