Autoincremento no me funciona

SQL, mySQL, postgreSQL y otros motores
Responder
PolarBear
Ayudante de Santa
Mensajes: 81
Registrado: Lun Feb 17, 2014 6:42 pm
Contactar:

Autoincremento no me funciona

Mensaje por PolarBear » Sab Oct 13, 2018 6:28 pm

Saludos Clarioneros

Estoy haciendo un desarrollo nuevo en Clarion, empleando como motor a MSSQL. En una de las tablas (RECIBOS) tengo una columna llamada Folio, la cual, marque como llave única y con autoincremento, para que me sirva como ID principal y Folio

La cosa es que al generar con los templates la conocida Browse-Forma, intento insertar un registro, y todo funciona aparentemente bien (Folio = 1), lleno los demas datos etc. Pero si por alguna razon CANCELO la forma, la siguiente vez que intento agregar un registro, el sistema ha insertado un registro en blanco con el folio que habia intentado apartar

Como saben, el template de Clarion, cuando ponemos AutoINC, lo que hace es insertar un registro en la base y cambiar el request de Insert a Change, pero si yo cancelo, el mismo template BORRA el folio, para que siga disponible

¿No funciona esta conducta en MSSQL?

Desde ya, gracias por su ayuda


Avatar de Usuario
Mauricio
Desarrollador de Clarion
Mensajes: 1125
Registrado: Dom Feb 06, 2011 9:34 am
Ubicación: España
Contactar:

Re: Autoincremento no me funciona

Mensaje por Mauricio » Lun Oct 15, 2018 1:09 pm

No dejes que sea Clarion el que genere el autoincremento, es para problemas. Para eso tienes el IDENTITY en SQL y lo único que debes hacer es recuperar el valor insertado.
Mauricio, básicamente usando Clarion 6.3
www.tdcsoftware.com y www.clarioneros.com/blog

PolarBear
Ayudante de Santa
Mensajes: 81
Registrado: Lun Feb 17, 2014 6:42 pm
Contactar:

Re: Autoincremento no me funciona

Mensaje por PolarBear » Lun Oct 15, 2018 7:23 pm

Saludos Mauricio

Gracias por tu consejo, lo voy a tomar en cuenta y quitaré lo de autoincremento para hacerlo manualmente. Lo mas raro es que en otra aplicacion, donde empleo el ODBC para MySQL, el template funciona de manera correcta !

Avatar de Usuario
Mauricio
Desarrollador de Clarion
Mensajes: 1125
Registrado: Dom Feb 06, 2011 9:34 am
Ubicación: España
Contactar:

Re: Autoincremento no me funciona

Mensaje por Mauricio » Mar Oct 16, 2018 9:49 am

Yo seteo el campo como IDENTITY en SQL. En el dct de Clarion le pongo IsIdentity = TRUE y le podés setear el SCOPE_IDENTITY para que te devuelve el último agregado. El problema con Clarion es ese, si tenés el auto-increment te crea ese registro fantasma y puede llegar a ser un problema. Me pasó que una tabla tenía otra clave única, no sé si el nombre del cliente, entonces al crear el registro lo creaba en blanco (no null). Si otro usuario intentaba crear el registro al mismo tiempo fallaba porque no podía haber 2 registros con ese nombre en blanco.
Clarion es muy lindo pero cuando es tan general, da problemas.
Mauricio, básicamente usando Clarion 6.3
www.tdcsoftware.com y www.clarioneros.com/blog


Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 7 invitados