Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-05-2008
Avatar de kurono
[kurono] kurono is offline
Miembro Premium
 
Registrado: jul 2007
Ubicación: Republica Dominicana
Posts: 1.126
Poder: 18
kurono Va por buen camino
Guardar Registro En Una Base De Datos Relacional

hola amigos del foro como estan tengo el siguiente problema e realizado una base de datos en access y en sql 2000 donde tengo una relacion con dos tabla tanto en sql 2000 como en access como bien saben la relaciones se hacen teniendo el mismo campo en ambas tablas pues asi es que la e hecho en ambas base de datos el problema surge cuando guardo registro en la base de datos ya sea la de access o sql2000 pues solo me la guarda en una tabla y deberia ser en las dos ya que estan relacionadas alguien me puede ayudar con esto utilizo delphi 7
Responder Con Cita
  #2  
Antiguo 23-05-2008
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Cool

Cita:
Empezado por kurono Ver Mensaje
el problema surge cuando guardo registro en la base de datos ya sea la de access o sql2000 pues solo me la guarda en una tabla y deberia ser en las dos ya que estan relacionadas alguien me puede ayudar con esto utilizo delphi 7
No entendí muy bien esto... pero estas seguro que es así ???

La información se guarda en una Base o en una Tabla de cada base ???

Podrias dejar un modelo de tu relación ??? y el código que utilizas para guardar.... puede que ahí este el error ???


Salu2
__________________
BlueSteel
Responder Con Cita
  #3  
Antiguo 23-05-2008
Avatar de kurono
[kurono] kurono is offline
Miembro Premium
 
Registrado: jul 2007
Ubicación: Republica Dominicana
Posts: 1.126
Poder: 18
kurono Va por buen camino
ok me explico yo hice una base de datos en access con dos tablas las cuales tiene dos campos identicos con los que forme la relacion en las tablas luego hice una aplicacion donde utilise unas de las tablas y le agrege registro ylo guarde resulta que solo me lo guardo en una tabla y deberia ser en las dos claro esta estamos hablando del campo que esta relacionado en las dos tablas pues como no me funciono pense que podria ser un error en access asi que me propuse a probarlo en sql haciendo las misma tablas y misma relacion y me dio el mismo resultado no se si esta ves me explique mejor pues contestanto tu pregunta blue steel el codigo que utilize es un simplemente un navegador y utilise los componente de ado fue solo para probar aqui esta la imagen de mi relacion en access

Última edición por kurono fecha: 23-05-2008 a las 21:49:53.
Responder Con Cita
  #4  
Antiguo 23-05-2008
Avatar de kurono
[kurono] kurono is offline
Miembro Premium
 
Registrado: jul 2007
Ubicación: Republica Dominicana
Posts: 1.126
Poder: 18
kurono Va por buen camino
disculpa que no pude subir la imagen pero la relacion es de uno a uno y los campo tienen las misma longitudes
Responder Con Cita
  #5  
Antiguo 23-05-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Hola kurono,
Creo que algo está fallando en la teoría sobre base de datos.
¿Tienes dos tablas, relacionadas de forma que se establece una relación 1:M?
Si es así, entonces:
1. La tabla Maestra sólo posee una clave primaria (PK) y demás campos.
2. La tabla Detalle (o esclava como la denominan algunos libros) posee:
2.1. Una clave primaria independiente (PK)
2.2. Una clave foranea (FK) que apuntará a una clave primaria de la tabla maestra.
2.3. Demás campos.

Si existe establecida dicha relación entre las tablas, y para garantizar la integridad referencial, el proceso de Alta debe der el siguiente:
1. Insertar un campo en la tabla maestra con clave x.
2. Por cada detalle que pertenezca a la tabla maestra:
2.1. Insertar un campo en la tabla detalle con clave foranea x.

Es decir que el alta de una tabla maestra no exije, ni implica, que se agregará un nuevo detalle.
Pero a la inversa, para agregar un registro detalle debe existir un registro en la tabla maestra.

Por tanto, para un alta del tipo 1:M se debe proceder en dos pasos:
1. Agregar en tabla maestra
2. Agregar en tabla detalle

Es posible que tu sólo estés viendo que agrega los registros en la tabla maestra.

Para comprender realmente lo que estás haciendo es necesario que nos expliques correctamente tu estructura de las tablas, las relaciones (aunque la intuimos) y el código que estás empleando.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #6  
Antiguo 23-05-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por kurono Ver Mensaje
disculpa que no pude subir la imagen pero la relacion es de uno a uno y los campo tienen las misma longitudes
No me di cuenta de que posteaste antes de que yo envie.
¿Uno a Uno? hay un problema de regla normal alli. Si la relación es 1 a 1, tranquilamente una tabla puede desaparecer y colocarse los registros de una en la otra.

Repasa los conceptos de base de datos.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #7  
Antiguo 23-05-2008
Avatar de kurono
[kurono] kurono is offline
Miembro Premium
 
Registrado: jul 2007
Ubicación: Republica Dominicana
Posts: 1.126
Poder: 18
kurono Va por buen camino
ok leere un poco sobre relaciones en base de datos pero le recuerdo que no uso ningun codigo simplemente el navegador de delphi y los componente de ado
Responder Con Cita
  #8  
Antiguo 23-05-2008
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Cool

Cita:
Empezado por kurono Ver Mensaje
ok leere un poco sobre relaciones en base de datos pero le recuerdo que no uso ningun codigo simplemente el navegador de delphi y los componente de ado
Hola Kurono...

Bueno, lo que te dice Delphius es muy cierto... lo más probable es que tienes una confución de conceptos con respecto a las base de datos...

No importa el codigo que utilices ni el componente.... una cosa es utilizar un DBGrid y DBNavegator... pero eso solo te hará referencia a una tabla en particular, y si insertas un registro lo realizará en una sola tabla... si utilizas un Query cuya consulta SQL muestra datos de 2 tablas, no podrás insertar datos en ambas tablas con el DBNavegator....

Te recomiendo que leas la siguiente guia de base de datos.... aunque es sencilla, te puede aclarar algunas dudas...


Salu2
__________________
BlueSteel

Última edición por BlueSteel fecha: 23-05-2008 a las 22:52:34.
Responder Con Cita
  #9  
Antiguo 23-05-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por BlueSteel Ver Mensaje
(...)
No importa el codigo que utilices ni el componente.... una cosa es utilizar un DBGrid y DBNavegator... pero eso solo te hará referencia a una tabla en particular, y si insertas un registro lo realizará en una sola tabla... si utilizas un Query cuya consulta SQL muestra datos de 2 tablas, no podrás insertar datos en ambas tablas con el DBNavegator
(...)
Es por ello que inicialmente le he pedido a Kurono que explicase mejor su situación.
Parte del problema no es que exista la posibilidad de que esté comprendiendo mal los conceptos de base de datos, sino también el uso de los componentes.

El problema no es sólo de base de datos.

Ojo, no es que pretenda machacar a Kurono.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #10  
Antiguo 23-05-2008
Avatar de kurono
[kurono] kurono is offline
Miembro Premium
 
Registrado: jul 2007
Ubicación: Republica Dominicana
Posts: 1.126
Poder: 18
kurono Va por buen camino
por lo que me han dicho es que aunque tenga las tablas relacionadas no estoy haciendo referencia a la segunda tabla a la cual quieri tambien que se guarde el registro en el campo si es asi eso lo puedo hacer sin tener que relacional las tablas mediante comando de sql pero yo creia q cuando las tablas estaban relacionada los registro se guardan en cada campo relacionado sin tener que especificar se que debo profundizar un poco mas sobre este tema por eso leere la guia q me recomienda blue steel
Responder Con Cita
  #11  
Antiguo 24-05-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
SQL no es lo único que puede hacer lo que buscas, un Trigger after insert también puede servir.

El problema es que como te dijimos: estabas interpretando mal algunos conceptos.

Lee el material que proporciona BlueSteel.

Y por último, Kurono, te voy a pedir, si no te molesta, que por favor coloques los signos de puntuación. No ha sido fácil comprender tu último post.
Te lo he pedido la otra vez, por favor tomalo en cuenta. Los mensajes deben ser redactados para que otros puedan entenderlos, si bien aqui todos hablamos el mismo idioma, las reglas de puntuación son de vital importancia para una correcta lectura y comprensión. Por favor usalos.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #12  
Antiguo 24-05-2008
Avatar de kurono
[kurono] kurono is offline
Miembro Premium
 
Registrado: jul 2007
Ubicación: Republica Dominicana
Posts: 1.126
Poder: 18
kurono Va por buen camino
ok disculpa lo tomare en cuenta
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Guardar un Fichero .xls o .doc en la Base de Datos jhernandez MS SQL Server 2 11-04-2008 02:32:00
Recorrer base de datos registro por registro Goyo SQL 3 06-09-2006 21:40:47
Guardar en 1 base de datos SQL, datos procedentes de 2 tablas distintas adaypr C++ Builder 1 05-09-2006 11:56:33
Guardar QR en base de datos jose_c27 Impresión 1 06-11-2005 03:32:16
guardar un jpg en una base de datos ing_alsaac Gráficos 1 16-10-2003 01:15:16


La franja horaria es GMT +2. Ahora son las 21:11:39.


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
Copyright 1996-2007 Club Delphi