AUTONUMERACAO

ADHEL 15/03/2010 14:55:38
#337016
Boa tarde
Eu preciso colocar um campo txtCodigo que apareça o último número que foi gravado na tabela +1 qdo eu chamar o form.

Eu fazia assim em vb6

Dim rs As New Recordset
Dim cod As Integer


rs.Open [Ô]Clientes[Ô], CONEXAO, adOpenKeyset, adLockPessimistic
With rs
If .EOF = False Then
.MoveLast
cod = Val(!Codigo) + 1

Else
cod = 1

End If
txtCodigo.Text = cod

End With

Se alguém tiver um modelo p/ me ajudar, agradeço muito.
Obrigado a todos
TECLA 15/03/2010 20:08:53
#337043
Resposta escolhida
Tente assim:

Imports System.Data.OleDb


Dim con As New OleDbConnection([Ô]Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\Temp\Nwind.mdb[Ô])
Dim da As New OleDbDataAdapter([Ô]SELECT MAX(EmployeeId) + 1 FROM Employees[Ô], con)
Dim dt As New DataTable
da.Fill(dt)
Label1.Text = dt.Rows(0).Item(0).ToString
dt.Dispose()
da.Dispose()
ADHEL 16/03/2010 09:18:31
#337059
TECLA.muito obrigado
Ficou perfeito
Valeu
GLAUCIO 16/03/2010 09:23:19
#337060
MInha maneira:


OleDbConnection con = new OleDbConnection(@[Ô]Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\Temp\Nwind.mdb[Ô])
OleDbCommand c = new OleDbCommand([Ô]SELECT MAX(EmployeeId) + 1 FROM Employees[Ô], con);
string retorno = Convert.ToString(c.ExecuteScalar());
c.Dispose();
con.Dispose();



Tecla, como só vai ser retornado o primeiro valor da primeira coluna é mais eficaz a utilização do method ExecuteScalar do OleDbCommand ao invés de preencher um datatable.


Att.
Tópico encerrado , respostas não são mais permitidas