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