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

Como se cual es el id de el registro que acabo de insertar?

Estas en el tema de Como se cual es el id de el registro que acabo de insertar? en el foro de ASP Clásico en Foros del Web. Se que esta pregunta es muy trillada, pero ya lo he buscado en este foro y no encuentro una respuesta. Tengo una tabla que tiene ...
  #1 (permalink)  
Antiguo 09/03/2003, 14:45
Avatar de Leonardo A. Sanchez  
Fecha de Ingreso: julio-2000
Ubicación: Mexico D.F.
Mensajes: 151
Antigüedad: 23 años, 10 meses
Puntos: 0
Como se cual es el id de el registro que acabo de insertar?

Se que esta pregunta es muy trillada, pero ya lo he buscado en este foro y no encuentro una respuesta.

Tengo una tabla que tiene un id autoincrementable, trabajo con MS SQL, y quisiera poder en la misma pagina una vez hago el recordset.update(). Saber cual fue el id que tomo ese registro?

Se que se puede hacer, pero no recuerdo el modo.

Alguien sabe?
__________________
En las manos de su manejador, la vida de Michael Jordan vale unos 20 millones, en las manos de Dios, cuanto crees que valdria tu vida? Entregasela y el hara de tu vida la mas valiosa del mundo entero.
  #2 (permalink)  
Antiguo 09/03/2003, 18:26
Avatar de Ruchu  
Fecha de Ingreso: octubre-2001
Mensajes: 698
Antigüedad: 22 años, 7 meses
Puntos: 2
yo lo que hago es inmediatamente despues de hacer el update, es hacer una consulta ordenada por el id.

asi:

select * from mitabla order by id desc

con lo que el primer registro de este recordset es el que acabas de introducir.
  #3 (permalink)  
Antiguo 09/03/2003, 19:56
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 2 meses
Puntos: 1
rs.addnew
session(ultimoregistro)=rs("codigo")+1
rs("campo1")="dfsdfsdfsfs"
rs("campo2")="dfs345345fsdfsdfsfs"
rs.update
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #4 (permalink)  
Antiguo 09/03/2003, 22:17
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 22 años, 4 meses
Puntos: 1
Busca en los mensajes del usuario vgaray, ahi esta la respuesta.
  #5 (permalink)  
Antiguo 10/03/2003, 12:09
Avatar de MrLake  
Fecha de Ingreso: febrero-2003
Ubicación: México
Mensajes: 75
Antigüedad: 21 años, 2 meses
Puntos: 0
Inmediátamente después del insert ejecuta esta sentencia

select @@identity

Es una variable de SQL que te devuelve el último valor de identidad insertado.

Ejemplo
INSERT INTO jobs (job_desc,min_lvl,max_lvl)
VALUES ('Accountant',12,125)
SELECT @@IDENTITY AS 'Identity'
  #6 (permalink)  
Antiguo 11/03/2003, 05:04
Avatar de Ruchu  
Fecha de Ingreso: octubre-2001
Mensajes: 698
Antigüedad: 22 años, 7 meses
Puntos: 2
lo que ha escrito maestro tiene un pequeño fallo, que es este.

el campo id al ser autonumerico, yo inserto ahora un registro, y por ejemplo se le asigna el id 421, ahora lo borro, y en teoria el registro de la bd que tiene el id mas alto, es decir el ultimo, tendra el id 420. El siguiente registro que yo meta tendra el id 422

pues si haces un session(ultimoregistro)=rs("codigo")+1, esto sumara al 420 un 1, osea, 421, y no es el id que tendra el siguiente registro, este deberia ser el 422.
  #7 (permalink)  
Antiguo 11/03/2003, 10:44
Avatar de Leonardo A. Sanchez  
Fecha de Ingreso: julio-2000
Ubicación: Mexico D.F.
Mensajes: 151
Antigüedad: 23 años, 10 meses
Puntos: 0
Bueno Lake, por lo pronto corriendolo en el Query Analizer hice la prueba y me funciono, voy a ponerlo en el script de la pagina a ver que tal me funciona.

Gracias.
__________________
En las manos de su manejador, la vida de Michael Jordan vale unos 20 millones, en las manos de Dios, cuanto crees que valdria tu vida? Entregasela y el hara de tu vida la mas valiosa del mundo entero.
  #8 (permalink)  
Antiguo 11/03/2003, 13:39
Avatar de Alejandro_Pensa  
Fecha de Ingreso: enero-2002
Ubicación: Córdoba Capital
Mensajes: 76
Antigüedad: 22 años, 3 meses
Puntos: 0
Yo lo hago así ...

rs.addNew
rs.fields("primero") = "Primero"
rs.fields("segundo") = "Segundo"
rs.update

Numeroid = rs.fields("id")

rs.Close

Es importante que hagas esta asignacion antes de cerrar el objero recordset ...
  #9 (permalink)  
Antiguo 11/03/2003, 22:07
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 22 años, 4 meses
Puntos: 1
Precisamente así es lo del post de vgaray y sin hacer doble consulta.
  #10 (permalink)  
Antiguo 12/03/2003, 14:20
Avatar de Leonardo A. Sanchez  
Fecha de Ingreso: julio-2000
Ubicación: Mexico D.F.
Mensajes: 151
Antigüedad: 23 años, 10 meses
Puntos: 0
Sonrisa

Ok lo voy a probar y les cuento al rato.
__________________
En las manos de su manejador, la vida de Michael Jordan vale unos 20 millones, en las manos de Dios, cuanto crees que valdria tu vida? Entregasela y el hara de tu vida la mas valiosa del mundo entero.
  #11 (permalink)  
Antiguo 13/03/2003, 09:05
Avatar de Don Graff  
Fecha de Ingreso: noviembre-2002
Ubicación: San Bernardo - Chile
Mensajes: 410
Antigüedad: 21 años, 5 meses
Puntos: 0
prueba con

SELECT MAX(id) FROM tabla WHERE algo
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 14:23.