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

Insertar y recibir el nuevo id en un solo query

Estas en el tema de Insertar y recibir el nuevo id en un solo query en el foro de ASP Clásico en Foros del Web. Tengo el siguiente problema, quería hacer un insert y luego obtener el id principal del nuevo elemento insertado en la base de datos, se que ...
  #1 (permalink)  
Antiguo 20/05/2015, 06:14
 
Fecha de Ingreso: mayo-2015
Mensajes: 1
Antigüedad: 8 años, 11 meses
Puntos: 0
Pregunta Insertar y recibir el nuevo id en un solo query

Tengo el siguiente problema, quería hacer un insert y luego obtener el id principal del nuevo elemento insertado en la base de datos, se que hay muchas maneras mas simples o que funcionan, pero quiero hacerlo de esta manera ya que es la más rápida según mis pruebas.
Os comento el error que me da, este es el código:

Código ASP:
Ver original
  1. sql = "insert into o_operaciones (idoperacion, fechaalta, nombre)"
  2. sql = sql & ") VALUES ("
  3. sql = sql & "DEFAULT,now(),'" & nombre & "');"
  4. sql = sql & "SELECT max(idoperacion) as id from o_operaciones; "
  5. Set rsInsert = Conex.Execute(sql)
  6. idoperacion = cdbl(rsInsert("id"))

Bueno, el tema es que me devuelve un recordset cerrado, o algo así, vamos que no tiene registros.

Gracias de ante mano por cualquier ayuda.
  #2 (permalink)  
Antiguo 20/05/2015, 06:27
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Insertar y recibir el nuevo id en un solo query

Primero deberías ver si el DBMS en cuestión soporta ese tipo de acciones de multisentencias.
Luego, verificar si el conector también las soporta.
Finalmente, habría que ver si en general en ambos casos soporta sentencias incompatibles...

Creo que estás complicando en exceso. La mayoría de los DBMS devuelve como resultado de un INSERT la cantidad de registros insertados, e incluso ciertos conectores permiten acceder al valor del ID generado cuando este es un autoincremental...

Me parece que estás encarando mal la cosa.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: query, recordset
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 17:23.