ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

new.id de um generator

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
rvercesi
Mestre
Mestre


Registrado: Segunda-Feira, 29 de Novembro de 2010
Mensagens: 912
Localização: Curitiba / PR

MensagemEnviada: Qua Mai 04, 2011 11:29 am    Assunto: new.id de um generator Responder com Citação

Pessoal, como faço para pegar o NEW.ID de um generator?

No banco eu sei usar ele, mas como faço para pegar ele e atribuir à uma variável no Delphi?

Desde já agradeço a todos!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
gilsonnrodrigues
Moderador
Moderador


Registrado: Quinta-Feira, 14 de Abril de 2005
Mensagens: 9009
Localização: Governador Valadares-MG

MensagemEnviada: Qua Mai 04, 2011 11:57 am    Assunto: Responder com Citação

é firebird?

select GEN_ID(generator, 1) from RDB$Databases
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
rvercesi
Mestre
Mestre


Registrado: Segunda-Feira, 29 de Novembro de 2010
Mensagens: 912
Localização: Curitiba / PR

MensagemEnviada: Qua Mai 04, 2011 12:54 pm    Assunto: Responder com Citação

Não é o Firebird não, é o PostgreSQL.

Mas fazendo esse select eu não pego algum outro numero se uma pessoa inserir logo após eu dar um insert?

Pois na tabela do FB estará o último numero usado, mas quem garante que foi o meu?

Creio que o mesmo vai valer para o PG, pois ele trabalha bem parecido com o FB neste ponto! Uma tabela para os generators!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
gilsonnrodrigues
Moderador
Moderador


Registrado: Quinta-Feira, 14 de Abril de 2005
Mensagens: 9009
Localização: Governador Valadares-MG

MensagemEnviada: Qua Mai 04, 2011 3:22 pm    Assunto: Responder com Citação

mas ai vc vai incrementar e pegar não tem nada a ver com registro q foi inserido.

ah!!! mas pera ai!!!

se eu fizer isso pra dps inserir e ja informado o codigo?
entendeu?

vcs criam esses autoincremento e dps fica se debatendo com eles.

outra maneira é inserir por uma SP q retorne o codigo usado.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
rvercesi
Mestre
Mestre


Registrado: Segunda-Feira, 29 de Novembro de 2010
Mensagens: 912
Localização: Curitiba / PR

MensagemEnviada: Qui Mai 05, 2011 10:28 am    Assunto: Responder com Citação

Gilson, não estou me batendo com ele.

É que minha tela está fazendo algo que não consigo entender! Ela está saindo da posição (saindo do registro em que foi dados o POST) e com isso perco o valor gerado pelo banco.

Então estou tentando fazer uma gambiarra já que não consigo resolver de modo algum esse desposicionamento na tabela tentando pegar o NEW.ID direto do banco.

Eu acho que generator é a única maneira 100% segura de não ter números repetidos dentro de uma tabela onde existem muitos usuários utilizando ao mesmo tempo, sem ter que ficar travando tabela ou registro por muito tempo.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
gilsonnrodrigues
Moderador
Moderador


Registrado: Quinta-Feira, 14 de Abril de 2005
Mensagens: 9009
Localização: Governador Valadares-MG

MensagemEnviada: Qui Mai 05, 2011 11:48 am    Assunto: Responder com Citação

Generator é bom.

ruim é autoincremento.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
abagattini
Mestre
Mestre


Registrado: Terça-Feira, 29 de Novembro de 2005
Mensagens: 758
Localização: Porto Alegre/RS

MensagemEnviada: Qui Mai 05, 2011 1:16 pm    Assunto: Responder com Citação

Verifica o tipo de isolamento que estas usando na transação?
Pelo que entendi do generator ele incrementa sempre mesmo sem ser sido salvo o registro.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail MSN Messenger
rvercesi
Mestre
Mestre


Registrado: Segunda-Feira, 29 de Novembro de 2010
Mensagens: 912
Localização: Curitiba / PR

MensagemEnviada: Qui Mai 05, 2011 2:57 pm    Assunto: Responder com Citação

Isos mesmo! Sempre incrementa!

Por isso não posso fazer um select no banco para saber qual é o numero! Pois outra pessoa pode ter incrementado ele!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB