Jump to content


Photo

Retorna Número De Id Em Instrução Insert Sql


  • Faça o login para participar
11 replies to this topic

#1 andregv

andregv

    12 Horas

  • Usuários
  • 157 posts
  • Sexo:Masculino
  • Localidade:São José dos Campos - SP
  • Interesses:Programação Delphi, C/C++, ASP, Banco de Dados, WebDesigner.

Posted 28/05/2004, 11:20

Alguém sabe como eu faço para retornar o número de id de registro no momento em que eu o incluo no banco de dados com instrução insert into (em Access... pois em SQL Server eu acho que já vi)?

#2 pchardnet

pchardnet

    ×-× 3D ×-×

  • Usuários
  • 1068 posts
  • Sexo:Não informado
  • Localidade:Belo Horizonte-MG

Posted 28/05/2004, 11:26

Set rs = conObj.execute ("SELECT TOP 1 id FROM sua_tabela ORDER BY id DESC")
cont= rs("id")'
rs.close
Set rs = nothing
www.wvirtu.net - Hospedagem Sites - PHP + MySql + Fantástico - Joomla! pré-instalado

www.joomlaminas.org - Grupo de Usuários Joomla! de Minas Gerais

#3 andregv

andregv

    12 Horas

  • Usuários
  • 157 posts
  • Sexo:Masculino
  • Localidade:São José dos Campos - SP
  • Interesses:Programação Delphi, C/C++, ASP, Banco de Dados, WebDesigner.

Posted 28/05/2004, 11:42

No caso eu terei que fazer outra busca mesmo?
Em Sql Server ele retorna o valor dessa variável (mais ou menos no formato de @variavel... parece que através de store proc)...
Okei... após o insert eu faço a busca intaum e pego a última inclusão.. ou seja... o maior número de iD...
Obrigado, mas se alguém souber se tem como já dar o retorno... seria bem melhor.
Um abraço, pchardnet.

#4 wozniak

wozniak

    Arquiteto de software

  • Usuários
  • 578 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro / RJ

Posted 28/05/2004, 12:41

Set rs = conObj.execute ("SELECT TOP 1 id FROM sua_tabela ORDER BY id DESC")
cont= rs("id")'
rs.close
Set rs = nothing

não é aconselhavel, pq se tiver outra pessoa fazendo cadastro ao mesmo tempo, pode causar problemas depois na identificação

é aconselhavel criar uma variavel no estilo

strEmail = trim(request("email"))


depois do insert vc faz um select usando esta variavel, dai mostre o id do registro,

deu p/ entender??

abraços
t+

#5 pchardnet

pchardnet

    ×-× 3D ×-×

  • Usuários
  • 1068 posts
  • Sexo:Não informado
  • Localidade:Belo Horizonte-MG

Posted 28/05/2004, 12:54

Wozniak, depende do uso. Ou não??
www.wvirtu.net - Hospedagem Sites - PHP + MySql + Fantástico - Joomla! pré-instalado

www.joomlaminas.org - Grupo de Usuários Joomla! de Minas Gerais

#6 wozniak

wozniak

    Arquiteto de software

  • Usuários
  • 578 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro / RJ

Posted 28/05/2004, 13:03

Wozniak, depende do uso. Ou não??

como assim uso?

abraços

t+

#7 pchardnet

pchardnet

    ×-× 3D ×-×

  • Usuários
  • 1068 posts
  • Sexo:Não informado
  • Localidade:Belo Horizonte-MG

Posted 28/05/2004, 13:22

Por exemplo: Eu configurei um sistema de emissão de boletos online. Neste sistema eu preciso de criar um número sequencial que será o número do boleto.

Então o que eu fiz. Assim que o cliente faz o cadastro pede pra gerar o boleto o script faz executa a seguinte ordem:
1- Grava os dados do formulário no BD
2- Recupera o valor do ID gravado
3- Gera o formulário, sendo que o ID vem do BD e os outros dados do próprio form.

Está errado isso, ou melhor pode dar algum erro??
www.wvirtu.net - Hospedagem Sites - PHP + MySql + Fantástico - Joomla! pré-instalado

www.joomlaminas.org - Grupo de Usuários Joomla! de Minas Gerais

#8 Info_Tec

Info_Tec

    Servo do DEUS VIVO!

  • Usuários
  • 398 posts
  • Sexo:Não informado
  • Localidade:Entre a cadeira e o teclado
  • Interesses:Jesus, minha esposa e filha.<br>ASP, Lógica de programação, Projeto de Estradas, $$$ que tô precisando!

Posted 28/05/2004, 14:09

Pode acontecer de estar acontecendo 2 inserções ao mesmo tempo (diferença de centésimos de segundos) e quando vc vai fazer seu Select Top 1 Order Desc pode ser que vc selecione o dado errado. O ideal é vc fazer um Select por todos os dados que vc acabou de inserir.

Entendeu?
A cada minuto está mais perto.
Aceite JESUS como seu único e suficiente salvador!
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
Fórum HOSANAS, venha conversar e se engrandecer com a palavra de DEUS.
Host: ASPECTO, Hospedagem ASP com qualidade e bom preço.

#9 pchardnet

pchardnet

    ×-× 3D ×-×

  • Usuários
  • 1068 posts
  • Sexo:Não informado
  • Localidade:Belo Horizonte-MG

Posted 28/05/2004, 17:05

Saquei, então é recomendável que eu faça um Select que compare um valor do meu formulário com um valor do meu BD e pegue o ID qdo forem iguais?

É isso??
www.wvirtu.net - Hospedagem Sites - PHP + MySql + Fantástico - Joomla! pré-instalado

www.joomlaminas.org - Grupo de Usuários Joomla! de Minas Gerais

#10 wozniak

wozniak

    Arquiteto de software

  • Usuários
  • 578 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro / RJ

Posted 28/05/2004, 17:07

Saquei, então é recomendável que eu faça um Select que compare um valor do meu formulário com um valor do meu BD e pegue o ID qdo forem iguais?

É isso??

exatamente isso meu caro amigo

abraços

t+

#11 pchardnet

pchardnet

    ×-× 3D ×-×

  • Usuários
  • 1068 posts
  • Sexo:Não informado
  • Localidade:Belo Horizonte-MG

Posted 28/05/2004, 19:00

É esse fórum esta sendo responsável direto pelo meu aprendizado... hehe

Obrigado por tirar mais uma dúvida e desculpe por ser entrão no tópico...

Valeu!
www.wvirtu.net - Hospedagem Sites - PHP + MySql + Fantástico - Joomla! pré-instalado

www.joomlaminas.org - Grupo de Usuários Joomla! de Minas Gerais

#12 andregv

andregv

    12 Horas

  • Usuários
  • 157 posts
  • Sexo:Masculino
  • Localidade:São José dos Campos - SP
  • Interesses:Programação Delphi, C/C++, ASP, Banco de Dados, WebDesigner.

Posted 31/05/2004, 09:46

Concordo em gênero, grau e número...
Pode ocorrer a situação de inclusões quase que simultâneas (não tinha pensado nisso)...
Quando uso SQL Server não ocorre esse tipo de erro pq a inclusão é feita através de Store Proc's e esta já retorna o Id...

Obrigado pela atenção e pelos novos aprendizados... (y)




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq