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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-11-2016
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
Actualización de Datos a DB haciendo recorriedo a ClientDataSet

Hola Sres:

Es Gusto Saludarlos nuevamente:

eh estado experimentando un poco con DataSnap y aun con DBExpress.

eh tenido un poco de experiencia haciendo una actualización modificando un registro desde el ClientDataSet simplemente haciendo esto:

Código Delphi [-]
procedure TfrmActualizaCantidadInv.btnModificarClick(Sender: TObject);
begin
 //aqui solamente traigo el registro que quiero modificar datos ejemplo:
  
        dmConexion.cdsModArtCantidad.Params.ParamByName('pIDART').AsInteger :=
        dmConexion.cdsTempModArtCantidadID_ARTICULO.AsInteger;
        dmConexion.cdsModArtCantidad.Active := True;
        dmConexion.cdsModArtCantidad.Edit;
//ok perfecto hasta aquí se activa el dataset en edit cambio el registro en etc le doy un botonActualizar y actualiza.
end;

El punto es que ahora al intentarlo hacer con un ClientDataSet temporal con un conjunto de datos escogido de una tabla por el usuario solamente actualizar el campo determinado y no lo hace a la finales al terminar el recorrido on ClientDataSet.EoF quiere hacer un insert.
ejemplo:
Código Delphi [-]
  try
       dmConexion.cdsTempModArtCantidad.First;
      while not dmConexion.cdsTempModArtCantidad.Eof do
     begin
        dmConexion.cdsModArtCantidad.Params.ParamByName('pIDART').AsInteger :=
        dmConexion.cdsTempModArtCantidadID_ARTICULO.AsInteger;
        dmConexion.cdsModArtCantidad.Active := True;
        dmConexion.cdsModArtCantidad.Edit;
        dmConexion.cdsModArtCantidadSTOCK.AsFloat :=
        dmConexion.cdsTempModArtCantidadSTOCK.AsFloat; //este dato lo traigo desde el temporal
        dmConexion.cdsModArtCantidad.Post; // el post se lo deje en el Evento OnBeforePost del  dmConexion.cdsTempModArtCantidad
        dmConexion.cdsTempModArtCantidad.Next;
    end;

      Except
       if VariablesRisto.messageerror <> '' then
       ShowMessage(VariablesRisto.messageerror);
       dmConexion.cdsModArtCantidad.Cancel;
    end;

Bueno a la finales el resultado es ya mencionado.

a la finales talvez aya una mejor manera de actualizar conjunto de datos con clientDataSet sin embargo es como se me ocurre por mi experiencia.

Agradeciendo cualquier colaboración;

Saludos

novato_erick

Última edición por novato_erick fecha: 06-11-2016 a las 18:37:39.
Responder Con Cita
 



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
adhoc actualizacion de la cache de clientdataset juniorSoft Providers 33 08-11-2012 07:15:27
Actualizacion De Datos Con Sql luxus Conexión con bases de datos 2 03-08-2006 00:20:18
Actualización de Datos Palmiro Conexión con bases de datos 3 02-02-2006 16:08:58
almacenar datos con un DBGrid haciendo Doble clik en una celda (VIH)Lestat Conexión con bases de datos 25 01-07-2005 06:10:23
Actualizacion de datos bbjb Conexión con bases de datos 7 12-07-2004 17:52:03


La franja horaria es GMT +2. Ahora son las 03:35: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