Buenas noticias:
En la mayoría de las DBS existen unas variables globales que guardan el ultimo valor añadido a una columna Autoincremental.
Malas noticias:
Las variables de los autoincrementales no son las mismas para diferentes DBS.
El proceso en el que intervenga un campo autoincremental es un poco manual
Tres pasos:
Establecer las transacciones a MANUALES
= SQLSetProp(THIS.nConn, "Transactions", 2)Insertamos la fila.
VL_C_SQL = “INSERT NIVEL ( DESCR ) VALUES ( “ + THISFORM.DESCR.VALUE + “ )” IF SQLExec(THIS.nConn, VL_C_SQL) THIS.GetLastError = SQLRollBack(THIS.nConn) Return -1 ENDIFObtenemos el autoincremental
VL_C_SQL = “SELECT @@IDENTITY”” IF SQLExec(THIS.nConn, VL_C_SQL, “CX_SERIAL”) THIS.GetLastError =SQLRollBack(THIS.nConn) Return –1 ENDIF THIS.Serial = CX_SERIAL.exp
Este código esta sacado de su contexto habitual, espero que os aclare las dudas.
Pablo Roca
No hay comentarios. :
Publicar un comentario
Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.