Tenta dar um commit depois o refresh Pablo Farias Fone(81)9169.3339 develo...@marketingrapido.com.br www.marketingrapido.com.br
Em 20/08/2010 15:06, Fabiano Moura escreveu: > > Boa tarde! > > Felipe, eu dei o refresh e não traz o valor! > > Obrigado, > > Fabiano > > Em 20 de agosto de 2010 14:57, felipe govoni <govoni.fel...@gmail.com > <mailto:govoni.felipe%40gmail.com>>escreveu: > > > 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 > <mailto:mctbrasil%40gmail.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 >>>>> > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > [As partes desta mensagem que não continham texto foram removidas]