La respuesta es si.

La sintaxis sería algo asi

Local cCmd

cCmd = 'SET IDENTITY_INSERT [basededatos].[dbo].[CLIENTES] ON'
nOK = SQLExec(nHandle,cCmd)

Text to cCmd textmerge noshow flags 2 pretext 15

Select * FROM CLIENTES
order by idcliente desc

EndText

Con el cCmd anterior generás el cursor adapter y obtenés un cursor actualizable, por ejemplo curClientes

Luego podés insertar un registro en el campo clave, en mi ejemplo IDCLIENTE asi:

insert into curClientes(idcliente,cuenta,empresa) values( 1000,'1234','RAFAEL COPQUIN SA')
tableupdate(.t.,.t.,'curClientes')

Cuando terminás con todas las inserciones que necesitás matás el cursor adapter, mandás:

cCmd = 'SET IDENTITY_INSERT [basededatos].[dbo].[CLIENTES] OFF'
nOK = SQLExec(nHandle,cCmd)

Y luego podés regenerar el cursor adapter.

Cuando volvés a insertar registros, la secuencia del campo identity va a comenzar a partir del número 1001 (en mi ejemplo enchufé el número 1000)

Rafael Copquin


El 28/05/2012 02:50 p.m., [email protected] escribió:

Hola, a todos

Alguien sabe si es posible utilizar SET IDENTITY_INSERT con Cursoradapter contra SQL Server.-

En dicho caso, ¿Cuál sería la sintaxis?

Muchísimas gracias

Diego Detinis

Responder a