| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
Amarantesantana Novato

Registrado: Sexta-Feira, 13 de Novembro de 2009 Mensagens: 38
|
Enviada: Ter Mai 04, 2010 9:39 pm Assunto: Campo Código Automaticamente |
|
|
| 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 |
|
 |
rafmattos Colaborador

Registrado: Quinta-Feira, 11 de Fevereiro de 2010 Mensagens: 3416 Localização: Campo Grande/MS
|
Enviada: Ter Mai 04, 2010 9:55 pm Assunto: |
|
|
| Amigo pesquisa sobre generator |
|
| Voltar ao Topo |
|
 |
duides Novato

Registrado: Quarta-Feira, 17 de Março de 2010 Mensagens: 32 Localização: São Joaquim da Barra
|
Enviada: Ter Mai 04, 2010 10:20 pm Assunto: |
|
|
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 |
|
 |
rafmattos Colaborador

Registrado: Quinta-Feira, 11 de Fevereiro de 2010 Mensagens: 3416 Localização: Campo Grande/MS
|
|
| Voltar ao Topo |
|
 |
BrunoLichot Aprendiz


Registrado: Terça-Feira, 6 de Fevereiro de 2007 Mensagens: 161 Localização: São Paulo
|
Enviada: Qua Mai 05, 2010 1:25 pm Assunto: |
|
|
| neste topico acima deixei a funcao que voce pode usar para gerar os valores de suas chaves primarias com total seguranca. |
|
| Voltar ao Topo |
|
 |
aeciovc Colaborador

Registrado: Terça-Feira, 18 de Dezembro de 2007 Mensagens: 1042 Localização: Recife
|
Enviada: Qua Mai 05, 2010 3:15 pm Assunto: |
|
|
vc precisa mostrar esse campo ao usuário?? _________________ Aécio Costa
http://www.aeciocosta.com.br
|
|
| Voltar ao Topo |
|
 |
BrunoLichot Aprendiz


Registrado: Terça-Feira, 6 de Fevereiro de 2007 Mensagens: 161 Localização: São Paulo
|
Enviada: Qua Mai 05, 2010 3:39 pm Assunto: |
|
|
| 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 |
|
 |
zanitti Aprendiz

Registrado: Terça-Feira, 16 de Mai de 2006 Mensagens: 266 Localização: Belo Horizonte
|
Enviada: Qui Mai 06, 2010 2:14 pm Assunto: |
|
|
| 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 |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
Enviada: Qui Mai 06, 2010 2:22 pm Assunto: |
|
|
| 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 |
|
 |
zanitti Aprendiz

Registrado: Terça-Feira, 16 de Mai de 2006 Mensagens: 266 Localização: Belo Horizonte
|
Enviada: Qui Mai 06, 2010 2:29 pm Assunto: |
|
|
| É 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 |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
|
| Voltar ao Topo |
|
 |
zanitti Aprendiz

Registrado: Terça-Feira, 16 de Mai de 2006 Mensagens: 266 Localização: Belo Horizonte
|
Enviada: Qui Mai 06, 2010 2:39 pm Assunto: |
|
|
| 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 |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
Enviada: Qui Mai 06, 2010 2:41 pm Assunto: |
|
|
| 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 |
|
 |
zanitti Aprendiz

Registrado: Terça-Feira, 16 de Mai de 2006 Mensagens: 266 Localização: Belo Horizonte
|
Enviada: Qui Mai 06, 2010 2:51 pm Assunto: |
|
|
| 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 |
|
 |
BrunoLichot Aprendiz


Registrado: Terça-Feira, 6 de Fevereiro de 2007 Mensagens: 161 Localização: São Paulo
|
Enviada: Sex Mai 07, 2010 9:35 am Assunto: |
|
|
| 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 |
|
 |
|