none
conexão sql Server RRS feed

  • Pergunta

  • to fazendo um sistema de OS que recebe num label, sempre o próximo código, após ter ocorrido um cadastro, mas naum consigo chamar esse codigo do banco.....

    alguém ai poderia me ajudar????
    segunda-feira, 7 de maio de 2007 19:16

Respostas

  • Oi !

     

    Autonumeração do banco não serve ?

     

    Está usando datasets ?

     

    []'s

     

    segunda-feira, 7 de maio de 2007 23:59
  • Gustavo,

     

    você pode fazer a seguinte Select para pegar o próximo código:

     

    SELECT MAX(codigo + 1) FROM tabela.

     

     

    Espero te-lo ajudado.

     

     

    Abraço

    terça-feira, 8 de maio de 2007 17:15
  • Velho,

     

    Nos sistemas que eu desenvolvo eu faço uma tabela que controla o auto incremento nas demais tabelas, coisa simples tipo uma tabela com dois campos: “Nome Tabela” e “Valor Incremento”, isso ajuda muito, dá bastante flexibilidade e não tem complicação nenhuma.

    quarta-feira, 9 de maio de 2007 19:56
  • Você não pode deixar para gerar o número na hora de gravar o registro?

    Porque se você usar o select (max +1) na hora de solicitar um novo registro e se outra pessoa fizer o mesmo antes de você gravar, irá gerar dois registros com o mesmo número.

    Se precisa gerar o número na hora de solicitar o novo registro, a solução é a auto numeração ou o uso de tabelas como foi explicado acima.

    segunda-feira, 14 de maio de 2007 15:33
  • Ops ... select max (campo) + 1
    segunda-feira, 14 de maio de 2007 15:34
  • Oi !

     

    Exatamente como o Lucio disse, o ideal é deixar que códigos como esse sejam gerados no lado do banco, quer seja por um campo autonumeração quer ser por uma stored procedure que controle cuidadosamente um lock serializable para garantir a geração de numeração única.

     

    []'s

     

    segunda-feira, 14 de maio de 2007 15:48

Todas as Respostas

  • Oi !

     

    Autonumeração do banco não serve ?

     

    Está usando datasets ?

     

    []'s

     

    segunda-feira, 7 de maio de 2007 23:59
  • Gustavo,

     

    você pode fazer a seguinte Select para pegar o próximo código:

     

    SELECT MAX(codigo + 1) FROM tabela.

     

     

    Espero te-lo ajudado.

     

     

    Abraço

    terça-feira, 8 de maio de 2007 17:15
  • Velho,

     

    Nos sistemas que eu desenvolvo eu faço uma tabela que controla o auto incremento nas demais tabelas, coisa simples tipo uma tabela com dois campos: “Nome Tabela” e “Valor Incremento”, isso ajuda muito, dá bastante flexibilidade e não tem complicação nenhuma.

    quarta-feira, 9 de maio de 2007 19:56
  • Você não pode deixar para gerar o número na hora de gravar o registro?

    Porque se você usar o select (max +1) na hora de solicitar um novo registro e se outra pessoa fizer o mesmo antes de você gravar, irá gerar dois registros com o mesmo número.

    Se precisa gerar o número na hora de solicitar o novo registro, a solução é a auto numeração ou o uso de tabelas como foi explicado acima.

    segunda-feira, 14 de maio de 2007 15:33
  • Ops ... select max (campo) + 1
    segunda-feira, 14 de maio de 2007 15:34
  • Oi !

     

    Exatamente como o Lucio disse, o ideal é deixar que códigos como esse sejam gerados no lado do banco, quer seja por um campo autonumeração quer ser por uma stored procedure que controle cuidadosamente um lock serializable para garantir a geração de numeração única.

     

    []'s

     

    segunda-feira, 14 de maio de 2007 15:48