Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo Hace 3 Semanas
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: Sep 2006
Ubicación: Lima - Perú
Posts: 1.760
Poder: 14
oscarac Va por buen camino
Actualizar todos los registros de un ClientDataSet

Como dice el titulo como hago para actualizar todos los registros ?
la idea es que tengo una tabla en memoria con varios registros y una columna de ITEM que va del 1 al Nº total de registros

imaginemos que tengo una tabla con 60 registros, enumerados y si borro el registro 20, todos los demas deben re-enumerarse y tendre 59 registros....

estaba pensando en

Código Delphi [-]
vitem := 1;
CdsAsiento.First;
While not cdsasiento.eof do
Begin
  cdsasiento.edit;
  cdsasiento.item.value := vItem;
  cdsasiento.post;
  inc(vitem);
End;


existe alguna otra manera?
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #2  
Antiguo Hace 3 Semanas
Avatar de Caminante
Caminante Caminante is offline
Miembro
 
Registrado: Oct 2010
Ubicación: Lima - Peru
Posts: 289
Poder: 9
Caminante Va camino a la fama
Hola


Como es un clientdataset podrias crear el campo para la numeracion como calculado y luego en el evento oncalcfields:


Código Delphi [-]
MiDataset.fieldbyname('Num').asinteger:=Midataset.recno;


No lo he probado pero una vez hice lo mismo y mas o menos recuerdo que asi lo resolvi.



Espero sea util


Saludos
__________________
Caminante, son tus huellas el camino y nada más; Caminante, no hay camino, se hace camino al andar.
Antonio Machado
Responder Con Cita
  #3  
Antiguo Hace 3 Semanas
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: Sep 2006
Ubicación: Lima - Perú
Posts: 1.760
Poder: 14
oscarac Va por buen camino
no funciona, me sale 0 en todos los registros.
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #4  
Antiguo Hace 3 Semanas
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: Dec 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.126
Poder: 30
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Pero, ¿ Asignaste la propiedad TClientDataSet.RecNo al campo calculado en el evento OnCalcFields del TClientDataSet ?

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo Hace 3 Semanas
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: Sep 2006
Ubicación: Lima - Perú
Posts: 1.760
Poder: 14
oscarac Va por buen camino
me explicas como se hace por favor?
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #6  
Antiguo Hace 3 Semanas
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: Dec 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.126
Poder: 30
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Si por supuesto, va un ejemplo:

1.- Sobre el TClientDataSet hace click con botón derecho del mouse y agrega los campos persistentes:


2.- Agrega un nuevo campo:


3.- Definelo:


Y luego, estando seleccionado el TClientDataSet, desde el Object Inspector -> events -> doble click sobre el evento -> OnCalcFields y dentro del procedimiento este código:
Código Delphi [-]
procedure TForm1.ClientDataSet1CalcFields(DataSet: TDataSet);
begin
  cdsRecNo.Value := ClientDataSet1.RecNo;
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo Hace 3 Semanas
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: Sep 2006
Ubicación: Lima - Perú
Posts: 1.760
Poder: 14
oscarac Va por buen camino
ah si
hice eso, agregue un campo Item (Calculated)
pero me sale cualquier cosa
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #8  
Antiguo Hace 3 Semanas
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: Dec 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.126
Poder: 30
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

En mis pruebas mantiene correctamente la numeracion de los registros al agregarlos o al borrarlos:


Pero, hay que tomar en cuenta que no todos los DataSet reconocen posiciones y eso podría estar dandote algun problema. En la categoría de los que no lo hacen entran aquellos que soportan cliente/servidor.

Como desconozco el gestor de base de datos y los componentes de conexión que estas usando, no podría decir mucho mas...

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #9  
Antiguo Hace 3 Semanas
Avatar de Caminante
Caminante Caminante is offline
Miembro
 
Registrado: Oct 2010
Ubicación: Lima - Peru
Posts: 289
Poder: 9
Caminante Va camino a la fama
Cita:
Empezado por ecfisa Ver Mensaje
Hola.

En mis pruebas mantiene correctamente la numeracion de los registros al agregarlos o al borrarlos:




En el programa que tenia tambien funcionaba bien sobre el clientdataset. Tal vez tengas en la propiedad packetrecords un valor diferente al que tiene por defecto y eso este afectando (Creo). Fuera de eso no se que pueda estar pasando.
Por desgracia no he podido encontrar el codigo de mi programa para compararlo.


Saludos
__________________
Caminante, son tus huellas el camino y nada más; Caminante, no hay camino, se hace camino al andar.
Antonio Machado
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
Actualizar registros de ClientDataSet oscarac OOP 1 31-01-2018 11:01:00
Actualizar datos al clientdataset escorpionrojo43 Conexión con bases de datos 1 14-08-2013 18:51:02
buscar registros de un ClientDataSet a otro clientDataSet novato_erick Conexión con bases de datos 2 02-02-2013 21:48:09
Actualizar todos los registros de una tabla GrupoDatasoft Tablas planas 4 09-02-2009 16:19:09
por que duplicidad de registros con clientdataset sin ingresar registros ...mysql Arturo MySQL 3 05-09-2006 19:39:37


La franja horaria es GMT +2. Ahora son las 19:09:58.


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