FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problema al Almacenar Datos
Hola:
De antemano les pido una disculpa por estar preguntando mucho en este foro.. pero solo aqui hay personas capacitadas para ayudarme con mis problemas... Miren.. tengo el siguiente problema al almacenar datos.. Estoy utilizando 4 IBTABLES en para almacenar datos de los alumnos.. IBTABLE1---->ALumnos (Datos PErsonales de los alumnos) IBTABLE2---->Alumno_carrera (Almacena el IDalumno y IDcarrera con ForeignKeys) IBTABLE3---->Alumno_semestre (almacena IDalumno y semestre) IBTABLE4---->Alumno_doc(almacena ID_alumno y Documentos entregados) a las ultimas 3 tablas les tengo puesto en su propiedad MASTERSOURCE la tabla "alumnos" y en la propiedad MASTERFIELD la relacion entre los ID de las tablas o sea... ID_alumno(tabla Alumno_carrera)---->ID(tabla Alumnos) .. ME explico!!!!!! Pero al momento de guardar los datos me marca un error en la tabla de "Alumno_doc" me dice que ay una violacion de FOREIGN KEY Cita:
Ahh y por cierto los valores de la TABLA ALUMNO_DOC almacena valores booleanos pero si ustedes saben INTERBASE no maneja este tipo de datos por lo que cree mi dominio y almacenara '1' si el valor es VERDADERo y '0' si el valor es FALSO.. y estos valores los almacenara por medio de DBCHeckbox... no sera este otro problema por el cual me marca error al momento de almacenar los datos????? Espero su respuesta lo + pronto posible... SAlu2 |
#2
|
|||
|
|||
Prueba creando un evento OnNewRecord para IBTable4 y en el código pon algo como:
Así cada vez que hagas un Insert, el campo ID_Alumno de IBTable4, tomará el valor del alumno seleccionado actualmente en IBTable1. Otra cosa, para bases de datos Cliente/Servidor, se aconseja hacer uso de componentes TQuery en lugar de TTable. En el caso de las IBX, te recomiendo que uses los TIBDataSet. Saludos... |
#3
|
|||
|
|||
ok lo tomare muy en cuenta y grax por el consejo ... si funciona te mandare un mensaje para darte las grax salep???
SALU2 y grax de nuevo.. |
#4
|
|||
|
|||
Disculpa la molestia MAEYANES pero hice lo que me dijiste acerca de crear el evento onNewRecord de mi tabla y lo ejecute y me sigue marcando el mismo error de llave foranea.. ME indica error por que creo que no se almacena la clave del alumno de la tabla alumnos que tengo ligada a la de alumnos_doc...
es mas ya cambie el codigo y a mi evento on newrecord le puse lo siguiente: Código:
IBTalum_doc.FieldByName('dni_alumno'):= form2.DBEdit1.text Una ultima pregunta cuando ejecuta el procedimiento onNewRecord del IBTalum_doc como lo muestro arriba .. ese codigo ya almacena automaticamente la clave en la mi tabla IBTalum_doc sin necesidad de ejecutar la palabra POST para guardar los datos??? |
#5
|
|||
|
|||
Cita:
Si es la segunda opción, tienes que guardar primero el registro del alumno y luego el de IBTalum_doc. Cita:
Saludos... |
#6
|
|||
|
|||
Cita:
No, siempre es necesario que llames al método Post. Este evento solo sirve para que ejecutes cierto código al momento de crear un nuevo registro. Mayormente se usa para inicializar ciertos campos sin cambiar el estado del registro. |
|
|
|