
27/05/2009, 08:07
|
 | Colaborador | | Fecha de Ingreso: enero-2002 Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 2 meses Puntos: 146 | |
Respuesta: Como grabar un registro en una base de datos si hay 2 iguales mmmmm, quizá no he dimensionado el problema ya que se me hace muy simple
Hay dos o tres caminos, uno es que no muestres el potencial código por que efectivamente no sabes si ese es el que le corresponderá, así que lo muestras hasta que ya lo hayas generado.
Otra forma es que el código que le muestras lo apartes en una tabla de códigos temporales (no se si sea progresivo) donde antes de calcular un nuevo código revise en esta tabla los que ya están "apartados" y haga uno efectivamente único, si el usuario cancela la transacción a este código apartado se le coloca un estatus de disponible para que se tome por el siguiente usuario en lugar de generar uno nuevo.
Uno más es que aunque le muestres un código al usuario, si no quieres hacer una búsqueda antes de grabar, hagas la inserción dentro de un while que tenga código de manejo de excepciones y que se ejecute mientras una bandera booleana indique que hay error, cada vez que haya error, generas un código nuevo, y al final le enseñas el código definitivo.
Saludos |