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

Cómo obtener el ID de un registro recientemente insertado?

Estas en el tema de Cómo obtener el ID de un registro recientemente insertado? en el foro de ASP Clásico en Foros del Web. Hola a todos!!!! Necesito saber el ID de un registro recientemente insertado en una DB por el método AddNew. Es posible averiguarlo sin volver a ...
  #1 (permalink)  
Antiguo 10/02/2004, 09:58
Avatar de PMP
PMP
 
Fecha de Ingreso: febrero-2003
Ubicación: Chacabuco - Buenos Aires
Mensajes: 214
Antigüedad: 21 años, 3 meses
Puntos: 1
Pregunta Cómo obtener el ID de un registro recientemente insertado?

Hola a todos!!!!
Necesito saber el ID de un registro recientemente insertado en una DB por el método AddNew.
Es posible averiguarlo sin volver a tener que hacer un SELECT?

De antemano, muchas gracias.

Última edición por PMP; 10/02/2004 a las 10:33
  #2 (permalink)  
Antiguo 11/02/2004, 08:44
Avatar de PMP
PMP
 
Fecha de Ingreso: febrero-2003
Ubicación: Chacabuco - Buenos Aires
Mensajes: 214
Antigüedad: 21 años, 3 meses
Puntos: 1
Se entiende que es lo que quiero saber?
Si se entiende, es posible hacerlo o no?

Por favor que alguien me diga algo!!!!


Gracias.
  #3 (permalink)  
Antiguo 11/02/2004, 11:47
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Fijate si te sirve:


Código:
<% 
    fakeValue = 5 
    set conn = Server.CreateObject("ADODB.Connection") 
    conn.open "<conn string>" 
    set rs = Server.CreateObject("ADODB.Recordset") 
    rs.open "select [intField] from someTable where 1=0", conn, 1, 3 
    rs.AddNew 
    rs("intField") = fakeValue 
    rs.update 
    response.write "New ID was " & rs("id") 
    rs.close: set rs = nothing 
    conn.close: set conn = nothing 
%>

Tomado de aspfaq.com
  #4 (permalink)  
Antiguo 11/02/2004, 12:57
Avatar de PMP
PMP
 
Fecha de Ingreso: febrero-2003
Ubicación: Chacabuco - Buenos Aires
Mensajes: 214
Antigüedad: 21 años, 3 meses
Puntos: 1
Muchas gracias, anduvo joya!!!
  #5 (permalink)  
Antiguo 11/02/2004, 14:01
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
De nada, pero acabo de reparar en algo que jamás había visto y aparentemente funciona (ya que decís que 'anduvo joya')

Código:
rs.close: set rs = nothing
conn.close: set conn = nothing
Las dos líneas anteriores tienen un ":" separando dos instrucciones que deberían ir en diferentes líneas...

Eso es así? esa es la función de los dos puntos?
  #6 (permalink)  
Antiguo 11/02/2004, 14:25
Avatar de PMP
PMP
 
Fecha de Ingreso: febrero-2003
Ubicación: Chacabuco - Buenos Aires
Mensajes: 214
Antigüedad: 21 años, 3 meses
Puntos: 1
En realidad no probé el código como me lo enviaste, sino que miré el ejemplo y veo que con solo leer el campo del ID después de haber actualizado (Update) el recordset, me lo mostraba sin ningun problema.

No probé si funciona
rs.close: set rs = nothing
conn.close: set conn = nothing

Sería cuestión de probar e investigar si hay alguna diferencia con hacerlo en líneas distintas.

Saludos, y muchas gracias nuevamente.
  #7 (permalink)  
Antiguo 11/02/2004, 16:47
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Pues si, lo acabo de probar y funciona. El caracter "dos puntos" sirve para colocar en una misma línea varias instrucciones como lo siguiente que usé a manera de verificarlo:


Código:
<% A = 1 : If A = 1 Then Response.Write "A= " & A : End if : B = 3 : Response.Write " y B = " & B %>

Algo que jamás leí en ningún manual, tuto, ejemplo o TIP sobre ASP o VBScript
  #8 (permalink)  
Antiguo 12/02/2004, 14:05
 
Fecha de Ingreso: febrero-2002
Mensajes: 442
Antigüedad: 22 años, 3 meses
Puntos: 2
nop... no aparece en ningun lado... yo a veces lo uso... en algunos casos queda el codigo mas prolijo.
__________________
tech-nico.com
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 19:38.