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 27-01-2011
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.411
Poder: 22
fjcg02 Va camino a la fama
Si aplicas applyupdates a nivel de registro ( evento afterpost del dataset), podías añadir un campo que indique el origen del registro.

En este caso, en el evento que te he indicado, podrías hacer lo siguiente:

( es pseudo código ...)
if dataset.fieldbyname('origen').AsString ='A' then
dataset.AppplyUpdates(0);


siendo origen el campo calculado que contendrá A en los registros cuyo origen sea la tabla a modificar y otro valor en el caso de que sean los registros insertados la otra tabla.

Incluso se podría controlar que en base a ese valor, unos registros sean editables y otros no.

Si no se indica la primera premisa, lo veo bastante más difícil.


Espero haberte ayudado en algo.

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #2  
Antiguo 07-02-2011
delphijm delphijm is offline
Miembro
 
Registrado: abr 2008
Posts: 47
Poder: 0
delphijm Va por buen camino
Hola,

La idea del campo que actua como flag para conocer el origen del registro me parece muy buena... La aplicare... Muchas gracias a tod spor la ayuda...
Responder Con Cita
  #3  
Antiguo 08-02-2011
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Sin menospreciar la aportación de Javier, me uno a las preguntas de Neftalí.

delphijm: ¿podrías dedicarnos un par de minutos para explicar con mayor detalle y contexto tu caso?

Fue un poco desconsiderado de tu parte que volvieras a escribir sin responder a las preguntas que él te hizo con el fin de ayudarte. Lo cortés no quita lo valiente, compadre.

En lo personal, conozco algunos de los mecanismos internos de TClientDataSet. Si aclaras el tema, quizá pueda proponerte alguna buena alternativa.

Un abrazo por el arco del triunfo.

Al González.
Responder Con Cita
  #4  
Antiguo 09-02-2011
delphijm delphijm is offline
Miembro
 
Registrado: abr 2008
Posts: 47
Poder: 0
delphijm Va por buen camino
Hola a todos,

Antes de nada, Al, tienes razon en lo de que fui desconsiderado al no responder a las preguntas de Neftali y Javier cuando me ofrecieron su ayuda... Perdon a todos y a ti tambien...

A continuacion os expongo lo que quiero hacer... El como, como dices ya lo dije pero quizas no sea la forma correcta...

El caso es que estoy desarrollando una aplicacion de gestion de planing de carga de vehiculos en diferentes centros de expedicion...

Existen varios centros de expedicion y tambien varios vehiculos...
Cada centro de expedicion tiene asignados unos vehiculos concretos...

Por ejemplo:
--> Centros de expedicion --> 1=Centro 1, 2=Centro 2
--> Vehiculos --> VEH01, VEH02, VEH03

El mecanismos del planing es que, en un centro de expedicion se visualizan los vehiculos que estan asignados al centro...

Por ejemplo:
--> En el centro de expedicion 1 --> Vehiculos asignados VEH01, VEH02
--> En el centro de expedicion 2 --> Vehiculos asignados VEH03

Cuando se gestiona el planing del centro de expedicion 1, se crean tantas expediciones a uno de los vehiculos como pueda realizar en el dia.

El tema esta en que puede ser que el vehiculo VEH03 que corresponde al centro 2 tambien puede añadirse, eventualmente, en el centro 1 para realizar alguna expedicion...

Asi, puede darse el caso que un vehiculo, por ejemplo VEH03 el mismo dia tenga una expedicion en el centro 1 i otra en el centro 2...

Ahora viene el problema:

Cuando se empieza a gestionar el planing, se pide al usuario que centro de expedicion quiere gestionar...

Cuando escoje, por ejemplo, el centro 1, yo recupero de la BBDD todas las expediciones asignadas al centro 1..

Centrandonos en el vehiculo VEH03, en el ClientDataSet de expediciones tendre la/las expediciones del vehiculo del centro 1, pero no tengo la expedicion que pudiera tener en el centro 2 (ya que estoy gestionando el centro 1)...

Me interesa que esa expedicion tambien aparezca para que el usuario sepa de la existencia de esa otra expedicion...

Lo que queria hacer, es, recuperar en otro dataset todas las expediciones del vehiculo VEH03, independientemente del centro.

Como me interesaria trabajar con unico dataset porque lo tengo enlazado con un control de agenda (al que claro, solo puedo enlazar un ClientDataSet), mi idea era añadir los registros del segundo al primero (y "general")... Una especie de "merge"...

Pero claro, para añadir los registros al primer dataset tendre que hacer append's y el ClientDataSet va a "pensar" que son nuevos registros (de hecho para el si, pero no para la BBDD), con lo que cuando haga el applyupdates intentara insertar y provocara un error de clave duplicada...

JAVIER --> Si, hago el applyupdates a nivel de registro en el afterpost... Por eso me parecia que tu idea podia ser factible...

NEFTALI --> Quizas lo que expongo aclare las dudas que veias y, si quizas no es la mejor forma de hacerlo...

AL --> Te agradecere cualquier alternativa mejor que puedas proponerme... Ademas me alegro que tengas experiencia en el trabajo con el TClientDataSet, yo los uso y los tendre que usar con cierta intensidad, en general todo el mecanismo de acceso a Datos de DbExpress... Soy relativamente nuevo en el desarrollo en Delphi y en ocasiones me trabo en los lugares mas insospechados!!!

Gracias a todos y un saludo

Josep Mª
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
Insertar Registros en Delphi para PHP ovasquez PHP 0 25-10-2008 23:24:54
Registros modificados en un TClientDataSet Cecilio Conexión con bases de datos 0 06-10-2008 22:21:32
insertar registros hxochitemol Conexión con bases de datos 1 02-06-2007 01:21:56
Como Insertar por Procedimiento 10 o mas registros para un calendario de pagos? IcebergDelphi Firebird e Interbase 1 20-05-2007 22:23:56
Insertar registros en MySQL TONIAM MySQL 0 24-05-2005 15:47:49


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


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