none
Inserção de dados RRS feed

  • Pergunta

  • boa noite

    tenho um código para inserção de dados, que esta funcionando, mas quero que apos o dado ser inserido, o text box do campo código, avançe  em uma unidade de forma automática ex. antes de salvar o campo código é 1, apos o dado ser salvo o campo código vai para 2 tudo de forma automática e assim por diante.

    domingo, 14 de agosto de 2011 00:10

Respostas

  • Olá Interger,

    O que vc deve fazer é:

    Após inserir cada registro, fazer uma consulta em seu banco de dados, selecionando o valor máximo da coluna primary key e somando um...

    Pode fazer isso usando linguagem SQL, assim:

    SELECT MAX(CAMPO_ID) + 1 FROM TABELA
    


    Mas veja, em aplicações compartilhadas, onde diversos usuários utilizam a mesma aplicação, será difícil vc conseguir prever o ID do próximo registro, pois enquanto vc está listando uma informação em um formulário, outro usuário pode estar inserindo um registro nessa mesma tabela, e utilizando o ID que está em seu formulário... Tome cuidado, geralmente só apresento o ID do registro para o usuário, depois que o mesmo é registrado na base de dados...

     

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.wordpress.com/
    Twitter: @ferhenrique
    • Marcado como Resposta interger domingo, 14 de agosto de 2011 15:04
    domingo, 14 de agosto de 2011 05:39
    Moderador

Todas as Respostas

  • Prezado,

    Que banco de dados você está utilizando? Dá pra fazer armazenando o último código em uma variável e incrementando um após a inserção, mas, por que você não utiliza campos do tipo auto incremento?


    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima
    domingo, 14 de agosto de 2011 02:15
    Moderador
  • Olá Interger,

    O que vc deve fazer é:

    Após inserir cada registro, fazer uma consulta em seu banco de dados, selecionando o valor máximo da coluna primary key e somando um...

    Pode fazer isso usando linguagem SQL, assim:

    SELECT MAX(CAMPO_ID) + 1 FROM TABELA
    


    Mas veja, em aplicações compartilhadas, onde diversos usuários utilizam a mesma aplicação, será difícil vc conseguir prever o ID do próximo registro, pois enquanto vc está listando uma informação em um formulário, outro usuário pode estar inserindo um registro nessa mesma tabela, e utilizando o ID que está em seu formulário... Tome cuidado, geralmente só apresento o ID do registro para o usuário, depois que o mesmo é registrado na base de dados...

     

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.wordpress.com/
    Twitter: @ferhenrique
    • Marcado como Resposta interger domingo, 14 de agosto de 2011 15:04
    domingo, 14 de agosto de 2011 05:39
    Moderador
  • realmente esqueci de mencionar o bd é access 2010.
    domingo, 14 de agosto de 2011 13:29
  • Olá Interger,

    O código recomendado irá funcionar com o Access.

    E acredito que por estar utilizando o Access vc não está trabalhando em um ambiente compartilhado.

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.wordpress.com/
    Twitter: @ferhenrique
    domingo, 14 de agosto de 2011 13:36
    Moderador
  • funcionou , obrigado pela ajuda Fernando
    domingo, 14 de agosto de 2011 15:05