RETORNAR AUTOINCREMENT

WILLVIDAL 27/07/2014 13:00:52
#439911
Boa tarde pessoal,

Eu uso VB6, ADO e Firebird, e minha dúvida hoje é o seguinte, no meu banco tem uma tabela com campo código integer autoincrement, quando insiro um novo registro ele gera um novo código automaticamente, esta função está funcionando, porém, eu gostaria de saber como faço para retornar o código que foi gerado. Eu quero que assim que eu adicione o registro na tabela, ela já me retorne o código que foi gerado para eu poder carregar os dados no fomulário.
Grato a quem puder ajudar.
JUNIORBINDACO 27/07/2014 14:08:22
#439912
Basta vc dar um Order By desc e mandar mover para o ultimo registro.
NILSONTRES 27/07/2014 14:24:06
#439913
Só muito cuidado com isso, não se esqueça que outro usuário pode estar fazendo a mesma coisa ao mesmo tempo.
A não ser que esse sistema não trabalhe em rede, o que para sistemas comercias, que acredito ser 99,9 % dos que aqui
atuam, são todos multi Usuário.
WILLVIDAL 27/07/2014 14:24:57
#439914
JUNIORBINDACO mas será que essa seria a melhor alternativa, e em um ambiente com 50 usuários ? poderia retornar um código de outro registro.
FILMAN 27/07/2014 17:03:36
#439918
Tente o RETURNING

TABELA
CODIGO AUTOINCREMENT
NOME VARCHAR
DTNASC DATE

sSQL = [Ô]INSERT INTO (NOME,DTNASC) VALUES ([ô]NOME NOME NOME[ô], [ô]07.27.2014[ô]) RETURNING CODIGO[Ô]

Dim rst As New ADODB.Recordset

Set rst = SeuObjConn.Execute(sSQL)

if rst.RecordCount > 0 then MsgBox [Ô]Seu Código é [Ô] & rst([Ô]CODIGO[Ô])

Set rst = Nothing



Não realizei nenhum teste!

Veja se funciona, espero ter ajudado
XXXANGELSXXX 28/07/2014 18:47:44
#439951
Resposta escolhida
olha, eu faria uma funcao, retirando o autoincrement passando a calcular o codigo por conta propria, agora se vc quiser ver o seu ultimo codigo criado com o auto incremente, logo apos vc inserir a informacao de um select no banco novamente, tipo.. strsql=[Ô]select max(campoid) from tabela limit 1[Ô] o select max ira trazer o ultimo registro que foi inserido.. abraço.
FILMAN 31/07/2014 11:32:17
#440071
E ai deu certo?

Se o problema foi resolvido, por favor encerre o tópico!
Tópico encerrado , respostas não são mais permitidas