GARANTIR DESCONTO

Fórum Posicionar no Dbgrid #203077

26/12/2003

0

Tenho um form:
- um grid que está associado ao DataSource da Tabela de Cidades, q atraves do Query faço um select e ele traz todos as linha da tabela.
- um botao INCLUSAO, para adicionar um novo registro.

No form da INCLUSÃO, uso como chave primária um campo cujo valor é gerado pelo GENERATOR do Interbase. Faço o comando sql da inclusao da seguinte forma:

insert into cidade (codigo,nome)
values(gen_id(gera_codigo,1), :nomecid)

Até aqui funciona direitinho.
Gostaria de q quando voltasse para o form onde tem o grid, ele posicionasse no registro que acabou de ser incluído ... Como consigo obter o valor da chave primária q foi gerado automaticamente e para depois dar um locate na query do dbgrid ??

No aguardo.
Martinham


Martinham

Martinham

Responder

Posts

26/12/2003

Pain_elemental

1. crie uma stored procedure que retorna o gen id
2. faca um select nessa procedure antes de inserir e guarde o retorno do select em uma variavel
3. troque gen_id(gera_codigo,1) por um parametro e sete ele para o valor q vc acabou de pegar
4. use a variavel para o q vc kiser.

:twisted:


Responder

Gostei + 0

29/12/2003

Martinham

É somente desta forma q conseguirei o codigo gerado ??
Qdo dois usuarios tentarem simultaneamente gravar o registro, e eu buscar a informacao pela procedure, ele nao trara para mim o mesmo registro ??


Responder

Gostei + 0

02/01/2004

Pain_elemental

não, sempre trara um codigo novo. Existem outras maneiras, mass considero essa a + segura.


Responder

Gostei + 0

02/01/2004

Martinham

Voce poderia me dar mais detalhes de como seria esta stored procedure e como chamá-la ??? Não domino muito ainda esta parte da sp ... :-) :-)

E muito obrigada pela dica.
Martinham


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar