BUSCA BASE DE DADOS

RODRIGOBAHIA3 28/08/2012 22:36:32
#408807
Boa noite pessoal,

Alguém sabe me dizer como que eu faço para que a hora que seja aberto o formulário o sistema buscar na base de dados o ultimo código cadastrado e somar um e jogar esse valor numa textbox ou então se não tiver nenhum registro acrescentar o numero 1 no textbox como primeiro registro.


Grato
PEGUDO 29/08/2012 08:42:02
#408817
Eu faço assim:

[txt-color=#0000f0]Dim [/txt-color]Total [txt-color=#0000f0]As Double [/txt-color]= 0
[txt-color=#0000f0]Dim[/txt-color] strSQL [txt-color=#0000f0]As String [/txt-color]= [txt-color=#e80000][Ô]SELECT COUNT(*) FROM tblDados[Ô][/txt-color]

[txt-color=#007100][ô]Imagine que aqui em baixo seja a chamada da função que retorna se conecta com o BD, Conta os registros e retorna o total de registros encontrados[/txt-color]
Total = VerificarTotal(strSQL)

TextBox1.Text = Total + 1
ADHEL 29/08/2012 09:25:51
#408828
eu faria assim

Dim da As New OleDbDataAdapter([Ô]Select max(codigo)+ 1 from nome_sua_tabela[Ô], nome_sua_conexao)
Dim dt As New DataTable

da.Fill(dt)
Textbox1.Text = dt.Rows(0).Item(0).ToString
dt.Dispose()
da.Dispose()

If Textbox1.Text = [Ô][Ô] Then
Textbox1.Text = [Ô]1[Ô]
LUIS.HERRERA 29/08/2012 09:43:29
#408830
Não acho que o ideal seja apresentar o número do próximo registro, antes de realmente gerá-lo. Veja que se houver duas pessoas cadastrando simultanemanete, o mesmo número será gerado para ambas, e na hora de gravar já viu. Uma das duas (a última a efetivamente gravar) terá um erro na tela. Então terá de tratar e gerar outro número, assim fica sem sentido exibir este número ao iniciar um cadastro.

O ideal é fazer o cadastro e após gravar exibir o número correto gerado. Os bancos de dados possuem funções específicas para retornar o número gerado após a gravação. Acho essa a alternativa correta, que pode usar um campo autonumerado ou com numeração sequencial através de um trigger por exemplo.
ROBSON220BASS 29/08/2012 09:50:22
#408834
concordo com o LUIS HERRERA, por n motivos ...
Tópico encerrado , respostas não são mais permitidas