Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-03-2011
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 20
anubis Va por buen camino
Hola de nuevo,

Chris, sobre la tabla de memoria si entendi el mecanismo, la duda que me surge es la siguiente:

Con las dos tablas en memoria, a la hora de guardarlas, primero guardo el registro en la maestra con lo que ya tengo mi clave primaria.
De ahi haria un for next con todos los registros de la tabla detalle e ir insertando la clave primaria obtenida, es asi?.

Es correcto usar un for next para recorrer todos los datos de la tabla de detalle en memoria para ir guardando?.(es lo mismo en un sistema unico o cliente servidor?.

El borrado de un registro( si esto que comento esta bien), seria lo mismo, borrar del detalle primero con un for next y luego borrar el registro maestro, porque hasta ahora si borro el registro maestro antes que el de detalle(lo permite) se quedan ahi los registros del detalle.

Un saludo y gracias nuevamente
Responder Con Cita
  #2  
Antiguo 10-03-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 21
Chris Va por buen camino
Cita:
Empezado por anubis Ver Mensaje
Hola de nuevo,
Con las dos tablas en memoria, a la hora de guardarlas, primero guardo el registro en la maestra con lo que ya tengo mi clave primaria.
De ahi haria un for next con todos los registros de la tabla detalle e ir insertando la clave primaria obtenida, es asi?.

Es correcto usar un for next para recorrer todos los datos de la tabla de detalle en memoria para ir guardando?.(es lo mismo en un sistema unico o cliente servidor?.
Lo correcto es utilizar while not TablaMemoria.Eof do ... Más o menos así:
Código Delphi [-]
    with MiTablaDeMemoria do
    begin
        First;  // vamos al primer registro para asegurarnos de pasar por todos
        while not EoF do
        begin
            // aquí transfieres los registros en la tabla de memoria a la verdadera DB
            Next; // esta línea hace que el bucle trabaje con el próximo registro
        end;
    end;
Cita:
Empezado por anubis Ver Mensaje
El borrado de un registro( si esto que comento esta bien), seria lo mismo, borrar del detalle primero con un for next y luego borrar el registro maestro, porque hasta ahora si borro el registro maestro antes que el de detalle(lo permite) se quedan ahi los registros del detalle.
No me queda clara tu duda en este punto.

Saludos,
Chris
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #3  
Antiguo 10-03-2011
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 20
anubis Va por buen camino
Gracias de nuevo,

Ya veo que si hay que hacer algun bucle, bien con un for next o bien como dices tu que es la manera mas acertada, pero si hay que recorrer toda la tabla, dando igual que sea para un unico usuario o bien tipo cliente servidor.

El tema del borrado de registros de la base de datos, la teoria es que si quieres borrar el registro del maestro tendria que borrarse tambien el del detalle o bien decirte que por integridad no se puede, en mi caso si me lo permite y no debiera hacerse asi.

Si es una practica hacerlo asi como lo expongo y me comentas, voy a probarlo.

Un saludo y gracias nuevamente
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
problemas con dbgrid y otros db anubis Firebird e Interbase 4 18-02-2011 19:58:58
Objetos de sistema y otros problemas PaFernan99 Oracle 1 15-05-2008 23:16:29
Problemas con el DBGrid Shidalis Conexión con bases de datos 8 07-12-2005 15:53:50
Problemas con la aplicacion en otros equipos Mashabak Tablas planas 2 29-06-2004 17:16:55
Problemas con filtro... (y otros) sitrico Conexión con bases de datos 1 21-01-2004 21:52:12


La franja horaria es GMT +2. Ahora son las 07:04:07.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi