evitar duplicar llave primaria en una tabla de c++ builder

Moderador: yalmar

Foro cerrado salvo peticion.

evitar duplicar llave primaria en una tabla de c++ builder

Notapor NIKKI » Mié Jul 23, 2008 11:08 am

hola que tal, nuevamente hago uso de este foro, para resolver una duda que tengo, quisiera ver si alguien me podria ayudar para decirme o darme una idea de como evito duplicar una lave primaria en un una tabla, por ejemplo tengo una tabla llamada alumnos, su llave primaria es idalumno, cuando inserto mas alumnos, si inserto el idalumno q ya existe me marca un error, lo q quisiera es q me arrojara un mensaje q ese idalumno ya existe y volviera a pedir los datos.
Si alguien por favor pudiera ayudarme y de antemano muchas gracias.
NIKKI
Novato
Novato
 
Mensajes: 2
Registrado: Mar May 20, 2008 10:38 am


Solución I

Notapor YadierDC » Vie Jul 25, 2008 2:45 pm

Hola:
Te aconsejo que hagas lo siguiente: seguro debes tener definida una interfaz visual para insertar los datos del alumno donde le pides al usuario que introduzca todos los datos incluyendo el ID del alumno, para que este usuario no introduzca un ID existente en tu BD, a la hora de llamar a esta interfaz(formulario o panel) carga en un Combobox todos los IDs del alumno existentes haciendo una consulta a tu BD, entonces en un Edit le pides que introduzca el ID y compruebas que este ID no coincida con ninguno de los que ya existen, que están mostrados en el Combobox. Si te digo que los muestres en un Combobox es para ayudar al usuario a escoger un ID totalmente nuevo.
YadierDC
Novato
Novato
 
Mensajes: 7
Registrado: Jue Jul 17, 2008 10:48 pm


Solución II

Notapor YadierDC » Vie Jul 25, 2008 2:54 pm

Otra forma de evitar este tipo de errores es definir en tu BD que el ID del alumno sea autoincrementable, de esta manera al definir la consulta "Insertar_Alumno " le pasas todos los datos del alumno menos el ID, y el Gestor de BD le irá asignando un ID incremental a cada alumno. Esto trae no solo la ventaja que no existan duplicaciones sino que el la Interfaz de insertar el alumno no tienes que pedirle el ID al usuario, pero la desventaja es que tal vez esta forma de tratar los identificadores de las tablas no coincida con el diseño que le quieras dar a tu BD.
Espero que te sirva.
YadierDC
Novato
Novato
 
Mensajes: 7
Registrado: Jue Jul 17, 2008 10:48 pm

Re: evitar duplicar llave primaria en una tabla de c++ builder

Notapor NIKKI » Vie Jul 25, 2008 4:05 pm

hola, gracias por tu consejo y respuesta, probare esto espero y me resulte, gracias por tu ayuda, saludos.
NIKKI
Novato
Novato
 
Mensajes: 2
Registrado: Mar May 20, 2008 10:38 am

Re: evitar duplicar llave primaria en una tabla de c++ builder

Notapor YadierDC » Mié Feb 25, 2009 4:08 pm

Bueno, espero que hayas resuelto el problema, saludos
YadierDC
Novato
Novato
 
Mensajes: 7
Registrado: Jue Jul 17, 2008 10:48 pm


    

Volver a C++ Builder

¿Quién está conectado?

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