Retroceder   Foros del Web > Temas generales de computación > Programación

Respuesta
 
Herramientas Desplegado
Antiguo 06-dic-2003, 19:23   #1 (permalink)
darkman está en el buen camino
 
Fecha de Ingreso: noviembre-2002
Mensajes: 63
pregunta sobre delphi

hola tengo un problema, como puedo restringir el campo DNI osea el documento nacional de indetidad (para la argentina) que es unico por persona. osea que quiero algun codigo o compenente que se fije en la base de datos y me diga que ya existe y que no se puede volver a ingresar. este proceso lo hago en el alta de un cliente, osea que ya esta abierta la base de datos al ingresar el DNI. El tema es que no encuentro la manera de restringir la forma de que no me ingrese un mismo DNI.
darkman está desconectado   Responder Citando
Antiguo 07-dic-2003, 11:25   #2 (permalink)
Moderador
Mithrandir llegará a ser famoso muy prontoMithrandir llegará a ser famoso muy pronto
 
Avatar de Mithrandir
 
Fecha de Ingreso: abril-2003
Mensajes: 12.108
Necesitas hacer que el campo DNI de tu base de datos sea el campo llave (keyfield) eso impedira que te metan registros con ese campo duplicado.

Si estas usando tablas tipo paradox en el database desktop modifica la tabla para agregarselo
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
Mithrandir está desconectado   Responder Citando
Antiguo 07-dic-2003, 13:25   #3 (permalink)
darkman está en el buen camino
 
Fecha de Ingreso: noviembre-2002
Mensajes: 63
la base de datos esta echa en interbase

al estar echa en interbase, la tabla clientes contiene un cod_cliente, que lo definimos como primario y no nulo, es autoincremental por medio de un generador...el campo DNI, tiene las propiedades de numerio no nulo. lo que que queremos es que sea unico ese campo (DNI).
darkman está desconectado   Responder Citando
Antiguo 07-dic-2003, 17:21   #4 (permalink)
Moderador
Mithrandir llegará a ser famoso muy prontoMithrandir llegará a ser famoso muy pronto
 
Avatar de Mithrandir
 
Fecha de Ingreso: abril-2003
Mensajes: 12.108
En ese caso creo que eligieron mal su clave, debio haber sido DNI la llave primaria, y no un autoincremental (que se suele reservar para cuando no hay llaves candidatas).

Si no es asi la unica alternativa que tendras es para cada insercion/modificacion hacer una consulta en busca del DNI que pretendes insertat/modificar, si no existe (query.RecordCount = 0) entonces si permitir el movimiento, si no, negarlo.

Aunque esta solucion puede tener sus implicaciones si piensas manejar concurrencia sobre la tabla, o sea una aplicacion multiusuario (que si usas paradox lo ideal seria que no).
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
Mithrandir está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 14:39.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93