Foros del Web » Programando para Internet » ASP Clásico »

obtener la id (autonumerico) ???

Estas en el tema de obtener la id (autonumerico) ??? en el foro de ASP Clásico en Foros del Web. hola nuevamente espro no molestar...... tengo el siguinete problema ya que necesito sacar el id (autonumerico) de un registro y visto codigo aqui en el ...
  #1 (permalink)  
Antiguo 29/12/2004, 13:50
 
Fecha de Ingreso: septiembre-2003
Mensajes: 265
Antigüedad: 21 años, 7 meses
Puntos: 1
obtener la id (autonumerico) ???

hola nuevamente espro no molestar......

tengo el siguinete problema ya que necesito sacar el id (autonumerico) de un registro y visto codigo aqui en el foro y en otros foro pero no me funciona

me meti en el siguiente direccion

http://www.forosdelweb.com/showthrea...r+autonumerico

pero no me resulto o no supe poner bien el codigo

tengo el siguiente codigo:

set rs_tipo1=createobject("ADODB.Recordset")
tipo1="INSERT INTO tipo1 (id_formulario) VALUES ('"&id_formulario&"')"
rs_tipo1.open tipo1,Connae

set rs_tipo2=createobject("ADODB.Recordset")
tipo2="SELECT @@IDENTITY AS 'Identity' FROM tipo1"
rs_tipo2.open tipo2,Connae

newID = rs_tipo2("Identity")


response.Write("id = "&newID)

pero solo me visualiza el id =

porfavor alguna orientacion o alguna ayuda....
gracias
  #2 (permalink)  
Antiguo 29/12/2004, 15:04
 
Fecha de Ingreso: diciembre-2004
Ubicación: Bs. As. - Argentina
Mensajes: 200
Antigüedad: 20 años, 5 meses
Puntos: 0
Si usas access, podes hacer un select max(id) from tabla despues de grabar. El problema que tenes ahi es que si justo en el mismo moent 2 usuarios estan grabando, podes tener inconsistencias.

Si usas SQL, podes hacer un Store procedure que te devuelva el identity. Quizas tambiens e pueda hacer en access, pero no se como.

Aca te pongo un SP que tenog yo que devuelve el identity x si te sirve para mirarlo
OJO que este Sp, inserta y modifica.

ALTER PROCEDURE spAltaUsuario
(
@nID Int,
@cNombreCompleto Varchar(30),
@cUsuario Varchar(20),
@cClave Varchar(10),
@nResult int OUTPUT
)

AS
SET NOCOUNT ON

IF @nID = 0 --INSERT
Begin
INSERT INTO TB_USUARIO (cNombreCompleto, cUsuario, cClave)
VALUES (@cNombreCompleto, @cUsuario, @cClave)
SELECT @nResult = @@identity
End
Else --UPDATE
Begin
UPDATE TB_USUARIO SET
cNombreCompleto = @cNombreCompleto,
cUsuario = @cUsuario,
cClave = @cClave
WHERE
ID_Usuario = @nID

SELECT @nResult = @nID
End

SET NOCOUNT OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
__________________
Javo.
www.thesitewatcher.com
Monitoreo y Auditoría de Sitios de Internet
  #3 (permalink)  
Antiguo 30/12/2004, 00:46
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Solamente quitale las comillas simples a identity, te debería funcionar, de preferencia no uses identity, solo por si es una palabra reservada...

set rs_tipo2=createobject("ADODB.Recordset")
tipo2="SELECT @@IDENTITY AS MyId FROM tipo1"
rs_tipo2.open tipo2,Connae

newID = rs_tipo2("MyId")

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:17.