RETORNAR ID APOS INSERT

USUARIO.EXCLUIDOS 24/04/2007 22:28:41
#213603
Olá Pessoal, estou executando um código de Insert e preciso recuperar o ID do registro que acabei de inserir

Estou usando o seguinte código:

Dim SQL as string
Dim Salva as OledbCommand

SQL = " Insert Into Vendas " & _
" (Nome, Cidade, UF) " & _
" Values('" & "Patricia da Silva" & "', '" & "Curitiba" & "', '" & "PR" & "')"

Salva = New OledbCommand(SQL, String_de_Conexao)
Salva.ExecuteNomQuery()


Este Insert está sendo executado direto dentro de uma classe, a tabela possui auto contador, e estou precisando do retorno do ID.

Aguém pode me ajudar???

Desde já agradeço a todos...

Aquele Abraço.

DJPlinio
USUARIO.EXCLUIDOS 25/04/2007 08:37:49
#213622
'Depois de inserir, você executa este código


Dim sqlUltimoID as String = "select max(campo_autonumeracao) from tabela"

dim cmd as new OledbCommand(sqlUltimoID, String_de_Conexao)

dim ultimoID as int32 = integer.parse(cmd.ExecuteScalar())
USUARIO.EXCLUIDOS 25/04/2007 09:17:22
#213633
DJPlinio, se o banco for Access(2000) ou SQL, e em ambos os casos for autonumeração do próprio banco, basta executar a sequinte SQL, após a inclusão:

Dim cmdComando as New OleDbCommand
Dim dr as OleDbReader
Dim ID as Integer

with cmdComando
.ComandText = "SELECT @@IDENTITY" 'Este comando SQL que retorna ID
.ComandType = ComandType.Text
.Connection = conn '<aqui você coloca sua Conexão>
dr = .ExecuteReader()
End With

ID = dr.read()

msgbox("ID: " & ID)
Tópico encerrado , respostas não são mais permitidas