reservar codigo antes de un post
Que tal Gente!
Estoy haciendo un sistema que usara la misma tabla en varios equipos a travez de la red y hasta quiza simultaneamente. tengo una tabla con un campo codigo y otros que no vienen al caso. Codigo es un integer y se le asigna al nuevo registro el ultimo + 1. El tema es que cuando hay 2 APPEND simultaneos me asignan el mismo numero al nuevo registro ya que aun no se hizo el post y no se guardo el registro en la tabla. Hay alguna solucion para esto ? ¿O debo hacer un post solo con el codigo y luego editar y seguis cargando y en caso de CANCELAR eliminar el registro??? |
pues hay varias soluciones, como las que tu mencionas, pero tambien esta la de llevar una tabla o un archivo con el contador, asi, si veo que numero sigue, se incrementa y como vayan llegando los usuarios se incrementan, la otra, asignar el numero justo al momento de guardar asi no hay perdidas en las cancelaciones
|
necesito saber que codigo le corresponde al registro mientras estoy dandolo de alta asignarlo en el post me resulta incomodo.
Vere lo de una tabla paralela! |
Si no te obligan a que sean números correlativos, puedes hacer el post desde el evento OnNewRecord, así ya lo tienes pillado desde un principio y conoces el número.
Saludos |
la idea es tener codigos correlativos
¿alguna otra sugerencia? |
Tienes muchas formas, pero las tienes que implementar tú:
- Mantienes una segunda tabla con los huecos disponibles. Cuando alguien borra un cliente, almacenas en esa tabla el código, así ya sabes los huecos que hay. Cuando alguien hace un insert borras el código de la tabla huecos. Si la tabla huecos está vacía, usas el Max(codigo) + 1. En el OnNewRecord directamente haces el Post. Saludos |
Creop que una solución sería que cuando la gente tuviera que hacer el append, pusieras el parámetro de la tabla "Exclusive" en cuestión en True, de esta manera, sabes:
1. que el acceso a grabar datos de la tabla es exclusivamente del primero que llega. 2. que no tendrás codigos duplicados nunca. 3. único inconveniente, que hasta que el usuario no termine de grabar el registro los demás usuarios sólo podrán visualizar los datos y les dará error si intentan grabar. No se si te servirá, espero que si. |
La franja horaria es GMT +2. Ahora son las 01:54:03. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi