Club Delphi  
    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 Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-03-2012
Avatar de Jere_84
Jere_84 Jere_84 is offline
Miembro
NULL
 
Registrado: sep 2011
Ubicación: Córdoba, Argentina
Posts: 214
Poder: 0
Jere_84 cantidad desconocida en este momento
¿Sugerencias? ¿Ideas?

No eh podido hacer la eliminación de los registro del detalle, hacer un "WHILE" quizás funcione pero que gracia tendría hacer un maestro-detalle!!

Por favor gente alguna sugerencia!

Jeremías.
Responder Con Cita
  #2  
Antiguo 15-03-2012
Avatar de TiammatMX
TiammatMX TiammatMX is offline
Miembro
 
Registrado: jun 2006
Ubicación: Universo Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Puebla\Heróica Puebla de Zaragoza\Jardines de San Manuel\Home
Posts: 746
Poder: 18
TiammatMX Va camino a la fama
Cita:
Empezado por Jere_84 Ver Mensaje
No eh podido hacer la eliminación de los registro del detalle, hacer un "WHILE" quizás funcione pero que gracia tendría hacer un maestro-detalle!!

Por favor gente alguna sugerencia!

Jeremías.
Creo que estás poniendo la carreta delante del caballo..., el orden de borrado es: Primero borras los detalles y solamente en caso que no exista alguna excepción o error procedes a borrar el encabezado, para conservar la integridad referencial de tu base de datos...
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively...

"Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum.

Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco
Responder Con Cita
  #3  
Antiguo 15-03-2012
Avatar de Jere_84
Jere_84 Jere_84 is offline
Miembro
NULL
 
Registrado: sep 2011
Ubicación: Córdoba, Argentina
Posts: 214
Poder: 0
Jere_84 cantidad desconocida en este momento
Gracias tiammat por tu respues hice esto:
Código Delphi [-]
  if not FormPrinc.SQLConnectionDatsnap.InTransaction then
    begin
      TD.TransactionID := 1;
      TD.IsolationLevel := xilREADCOMMITTED;
      FormPrinc.SQLConnectionDatsnap.StartTransaction(TD);
    try
      DataModuleConsulta.ClientDataSetDetalle.First;
      while not DataModuleConsulta.ClientDataSetDetalle.Eof do
      begin
        DataModuleConsulta.ClientDataSetDetalle.Delete;
        Next;
      end;
      DataModuleConsulta.ClientDataSetCabecera.Delete;
      DataModuleConsulta.ClientDataSetCabecera.ApplyUpdates(-1);
      FormPrinc.SQLConnectionDatsnap.Commit(TD);
    except
      ShowMessage('No se puede eliminar. Intente luego');
      FormPrinc.SQLConnectionDatsnap.Rollback(TD);
    end;
    end;

Y Funciona!! pero lo que yo tenia entendido es que hacer una conexion BBexpress Master-Detail con solo eliminar la cabecera aliminaba los detalles.. para que serviria la propiedad poCascadeDeletes del DSProvider del lado servidor.
Responder Con Cita
  #4  
Antiguo 17-03-2012
Avatar de Jere_84
Jere_84 Jere_84 is offline
Miembro
NULL
 
Registrado: sep 2011
Ubicación: Córdoba, Argentina
Posts: 214
Poder: 0
Jere_84 cantidad desconocida en este momento
Cool Sigo en la espera

Si alguien a echo una relación Master/Detail en datasnap con DBExpress
¿Utilizo la eliminación en cascada? en teoria al activar el poCascadeDeletes del DSProvider debe eliminar los detalle llamando el Delete de la cabecera.

Esta es una cita de La cara oculta de Delphi 6

"Si poCascadeDeletes , por ejemplo, no está activa, entonces no podemos borrar un cliente en el TClientDataSet si tiene pedidos asociados. Tendríamos que eliminar primero todos los detalles, y luego todos los pedidos para poder entonces borrar el registro del cliente. Es cierto que podemos programar el borrado automáticamente utilizando eventos del conjunto de datos cliente. Pero si activamos la opción mencionada, podríamos eliminar directamente un cliente aunque tenga detalles a su cargo; en tal caso, los registros de detalles desaparecen por arte de magia. Ahora bien, esto significa que el proveedor solamente emitirá una instrucción delete para el registro maestro. "

Yo active esta propiedad pero solamente me elimina el maestro y no sus detalle. ¿Que estaré haciendo mal?

Gracias por leerme.

Última edición por Jere_84 fecha: 17-03-2012 a las 13:35:43. Razón: estaba mal tipiado
Responder Con Cita
  #5  
Antiguo 17-03-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.077
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Jere_84 Ver Mensaje
Yo active esta propiedad pero solamente me elimina el maestro y no sus detalle. ¿Que estaré haciendo mal?
Casi no conozco dbexpress, pero sólo por dar alguna pista, no sé si será correcto: se supone que esas tablas maestro/detalle están relacionadas mediante algún campo.
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
Master-Detail(Key Field+Memo) no navega por Tabla Detalle pmarin Conexión con bases de datos 2 30-08-2011 12:25:57
detalle y master detail con quick report DarkBlue Impresión 2 14-07-2011 22:01:12
Borrar detalle en relación Master/Detail con Paradox agustibaldo Tablas planas 5 17-08-2010 17:19:05
Problema al grabar un Master/Detail el detalle no se graba... Ricardojosep Firebird e Interbase 22 28-01-2010 20:48:53
Incrementar el id del detalle en master/detail... Arturo MySQL 2 07-07-2006 19:24:09


La franja horaria es GMT +2. Ahora son las 23:38:56.


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