Obtención de autonumérico (identity)

Buenas, mi pregunta es muy simple : ¿Cómo puedo obtener el autonumérico desde VB 6+ADO que SServer me acaba de asignar en la creación de un registro utilizando un comando sql 'INSERT INTO XXX ...', a través de un objeto commmand (cmd.execute) o a través de una conexión (cnn.execute)? Gracias anticipadas Guille!

1 respuesta

Respuesta
1
Cuando el SQLServer crea un idnetificador nuevo, lo almacena en la variable del sistema @@IDENTITY.
Por mi parte nunca he intentado recogerla desde VB, siempre he realizado un procedimiento almacenado que crea la inserción y devuelve el identificador.
Pero gracias a tu pregunta, he probado a realizarlo todo desde VB, quedándome el código como sigue:
Dim sSQL AS String
Dim cnn AS Connection
Dim mRS AS Resultset
sSQL = "SET NOCOUNT ON _ INSERT INTO <%NombreTabla%> (<%Columnas%>) VALUES (<%Valores%>) _ SELECT @@IDENTITY _ SET NOCOUNT OFF"
set mRS = Cnn.Execute(sSQL)
msgbox("El nuevo código es: " + CStr(mRS(0)))
¡Y ha funcionado!
Pruébalo, si es que te sirve la solución.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas