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 

Campo Código Automaticamente

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


Registrado: Sexta-Feira, 13 de Novembro de 2009
Mensagens: 38

MensagemEnviada: Ter Mai 04, 2010 9:39 pm    Assunto: Campo Código Automaticamente Responder com Citação

Moderadores do Active-Delphi escreveu:

Tópico editado por: johnny-walker
Motivo: Regras do fórum
Título Original: CAMPO CÓDIGO AUTOMATICAMENTE



Amigos estou precisando de uma luz para fazer com que ao salvar um cadastro o próximo mude altomaticamente, por exemplo cadastro um cliente com o código 1 altomaticamente apareça código dois e assim por diante, sou iniciante deu algumas olhadas a respeito de tiggers mas não entendi, utilizo o firebird 2.0 e o ibexpert
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
rafmattos
Colaborador
Colaborador


Registrado: Quinta-Feira, 11 de Fevereiro de 2010
Mensagens: 3416
Localização: Campo Grande/MS

MensagemEnviada: Ter Mai 04, 2010 9:55 pm    Assunto: Responder com Citação

Amigo pesquisa sobre generator
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
duides
Novato
Novato


Registrado: Quarta-Feira, 17 de Março de 2010
Mensagens: 32
Localização: São Joaquim da Barra

MensagemEnviada: Ter Mai 04, 2010 10:20 pm    Assunto: Responder com Citação

bom vc pode usar o seguinte código que eu usi da seguinte forma

primeiro vc declara uma variavel do tipo integer, que no caso eu chamei-a de prox, depois e vc colocar o codigo abaixo on clik do botão novo ou seja onde abre um novo registro...

DM.SimpleDataSetLocacao.Last;
prox:=DM.SimpleDataSet.FieldByName('campo_codigo').AsInteger + 1;
DM.SimpleDataSet.Append;
DM.SimpleDataSetL.FieldByName('campo_codigo').AsInteger:=prox;
DBEdit8.SetFocus;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
rafmattos
Colaborador
Colaborador


Registrado: Quinta-Feira, 11 de Fevereiro de 2010
Mensagens: 3416
Localização: Campo Grande/MS

MensagemEnviada: Ter Mai 04, 2010 10:32 pm    Assunto: Responder com Citação

nesse link esta discutindo isso tb da uma olhada la tem umas soluções la tb
http://www.activedelphi.com.br/forum/viewtopic.php?t=55393
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
BrunoLichot
Aprendiz
Aprendiz


Registrado: Terça-Feira, 6 de Fevereiro de 2007
Mensagens: 161
Localização: São Paulo

MensagemEnviada: Qua Mai 05, 2010 1:25 pm    Assunto: Responder com Citação

neste topico acima deixei a funcao que voce pode usar para gerar os valores de suas chaves primarias com total seguranca.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
aeciovc
Colaborador
Colaborador


Registrado: Terça-Feira, 18 de Dezembro de 2007
Mensagens: 1042
Localização: Recife

MensagemEnviada: Qua Mai 05, 2010 3:15 pm    Assunto: Responder com Citação

vc precisa mostrar esse campo ao usuário??
_________________
Aécio Costa
http://www.aeciocosta.com.br
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário MSN Messenger
BrunoLichot
Aprendiz
Aprendiz


Registrado: Terça-Feira, 6 de Fevereiro de 2007
Mensagens: 161
Localização: São Paulo

MensagemEnviada: Qua Mai 05, 2010 3:39 pm    Assunto: Responder com Citação

se precisar mostrar o campo, basta chamar a funcao que relatei imediatamente depois que gerar um novo registro, e isso que faço nos exemplos.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
zanitti
Aprendiz
Aprendiz


Registrado: Terça-Feira, 16 de Mai de 2006
Mensagens: 266
Localização: Belo Horizonte

MensagemEnviada: Qui Mai 06, 2010 2:14 pm    Assunto: Responder com Citação

Eu gosto de usar uma função SQL para retornar o maior valor do código cadastrado, acrescento mais 1 e pronto! Simples, não sei se tão funcional, mas só uso assim!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Qui Mai 06, 2010 2:22 pm    Assunto: Responder com Citação

zanitti escreveu:
Eu gosto de usar uma função SQL para retornar o maior valor do código cadastrado, acrescento mais 1 e pronto! Simples, não sei se tão funcional, mas só uso assim!
O problema do select max(campo)+1 é assim:

Por exemplo num sistema em rede, varios usuarios cadastrando ao mesmo tempo

Se vc der um insert na tabela a função do sql vai la na tabela e busca o ultimo registro (1201) e incrementa + 1 (1202), certo? Pois bem mais neste caso não commitou as transações sendo assim ele ainda esta inserindo o registro com o codigo (1202) pronto para ser gravado no banco correto?

Então outro usuario precisa cadastrar tambpem um cliente, e o que a função SQL vai fazer? Buscar o registro (1201) e incrementar + ' = (1202), ai amigo....Quem conseguir terminar o registro primeiro foi premiado com uma mensagem de REGISTRO GRAVADO COM SUCESSO, ja ou que demorou mais para gravar var receber uma mnsagem de KEY VIOLATION. CHAVE EM DUPLICIDADE, OU UNIQUE SEI LA O Q.

Bom enfim o problema do select max+1 é este.

A não ser que faça um select max+1 e ja grava na tabela para depois continuar com o insert dos dados, mais pra isso foi criado generators que serve justamente para fazer este trabalho.
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
zanitti
Aprendiz
Aprendiz


Registrado: Terça-Feira, 16 de Mai de 2006
Mensagens: 266
Localização: Belo Horizonte

MensagemEnviada: Qui Mai 06, 2010 2:29 pm    Assunto: Responder com Citação

É adriano_servitec, realmente não tinha pensado em um programa rodando em rede! Isso certamente não funcionaria! Eu nunca programei um software para rodar em rede, somente local, por isso disse que "sempre uso" sem pestanejar!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Qui Mai 06, 2010 2:33 pm    Assunto: Responder com Citação

zanitti escreveu:
É adriano_servitec, realmente não tinha pensado em um programa rodando em rede! Isso certamente não funcionaria! Eu nunca programei um software para rodar em rede, somente local, por isso disse que "sempre uso" sem pestanejar!
Tem o método do colega BrunoLichot que trabalha na CodeGear que é muito bom também...vale a pena dar uma olhada no link se vc usa cds.
http://www.activedelphi.com.br/forum/viewtopic.php?t=55393
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
zanitti
Aprendiz
Aprendiz


Registrado: Terça-Feira, 16 de Mai de 2006
Mensagens: 266
Localização: Belo Horizonte

MensagemEnviada: Qui Mai 06, 2010 2:39 pm    Assunto: Responder com Citação

adriano_servitec escreveu:
zanitti escreveu:
É adriano_servitec, realmente não tinha pensado em um programa rodando em rede! Isso certamente não funcionaria! Eu nunca programei um software para rodar em rede, somente local, por isso disse que "sempre uso" sem pestanejar!
Tem o método do colega BrunoLichot que trabalha na CodeGear que é muito bom também...vale a pena dar uma olhada no link se vc usa cds.
http://www.activedelphi.com.br/forum/viewtopic.php?t=55393


Certamente de grande ajuda! Valeu demais essa dica! simples e funcional. Esse código do colega BrunoLichot tem direitos autorias ou posso usá-lo livremente?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Qui Mai 06, 2010 2:41 pm    Assunto: Responder com Citação

zanitti escreveu:
adriano_servitec escreveu:
zanitti escreveu:
É adriano_servitec, realmente não tinha pensado em um programa rodando em rede! Isso certamente não funcionaria! Eu nunca programei um software para rodar em rede, somente local, por isso disse que "sempre uso" sem pestanejar!
Tem o método do colega BrunoLichot que trabalha na CodeGear que é muito bom também...vale a pena dar uma olhada no link se vc usa cds.
http://www.activedelphi.com.br/forum/viewtopic.php?t=55393


Certamente de grande ajuda! Valeu demais essa dica! simples e funcional. Esse código do colega BrunoLichot tem direitos autorias ou posso usá-lo livremente?
hehehe, pode sim, pois foi ele mesmo quem postou aqui no forum.

É bom saber que tem gente da propria Embarcadero empenhada em nos ajudar, mostra que o forum é serio e pessoas entendidas no assunto também passam por aqui.
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
zanitti
Aprendiz
Aprendiz


Registrado: Terça-Feira, 16 de Mai de 2006
Mensagens: 266
Localização: Belo Horizonte

MensagemEnviada: Qui Mai 06, 2010 2:51 pm    Assunto: Responder com Citação

adriano_servitec escreveu:

É bom saber que tem gente da propria Embarcadero empenhada em nos ajudar, mostra que o forum é serio e pessoas entendidas no assunto também passam por aqui.


Ótimo! Esse forum é sério e muito bom, apesar de participar pouco dos debates sou frequentador assíduo daqui! Não sou programador por profissão, o que faço é pessoal e algumas vezes algo para terceiros, mas nada muito complexo. Mas aqui é uma grande fonte de aprendizado e com muita gente disposta a ajudar!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
BrunoLichot
Aprendiz
Aprendiz


Registrado: Terça-Feira, 6 de Fevereiro de 2007
Mensagens: 161
Localização: São Paulo

MensagemEnviada: Sex Mai 07, 2010 9:35 am    Assunto: Responder com Citação

podem usar a vontade o codigo, eu uso ele a mais de 7 anos com total sucesso e também saira na proxima edicao da ActiveDelphi em continuidade ao artigo deste mes.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário 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