Club Delphi  
    Paypal   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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 29-05-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
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.

No sé de ningún metodo que poseea el TClientDataSet para realizar esa acción, pero podes agregársela sin mucha dificultad:
Código Delphi [-]
unit CDSExt;

interface

uses Variants, DBClient;

type
  TClientDataSet = class( DBClient.TClientDataSet )
  private
    FAuxFields: Variant;
  public
    procedure ReadRecord;
    procedure WriteRecord( const atLast: Boolean = False );
  end;

implementation

{ TClientDataSet }

procedure TClientDataSet.ReadRecord;
var
  i: Integer;
begin
  FAuxFields := VarArrayCreate( [0, FieldCount-1], varVariant );
  for i := 0 to FieldCount-1 do
    FAuxFields[i] := Fields[i].Value;
end;

procedure TClientDataSet.WriteRecord( const atLast: Boolean = False );
var
  i: Integer;
begin
  if not VarIsEmpty( FAuxFields ) then
  begin
    if atLast then
      Append
    else
      Insert;
    for i := 0 to FieldCount-1 do
      Fields[i].Value := FAuxFields[i];
  end;
end;

end.

Solo tenes que recordar agregar la unidad CDSExt (o como la llames) en último lugar al uses de la sección interface donde la vayas a usar, vg.:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, DBClient, ...,  CDSExt;

type
  TForm1 = class( TForm )
    ...
    DataSetProvider1: TDataSetProvider;
    ClientDataSet1: TClientDataSet; 
    DataSource1: TDataSource;
  ...

implementation

// Ejemplos de llamada:

procedure TForm1.Button1Click( Sender: TObject );
begin
  ClientDataSet1.ReadRecord;
end;


procedure TForm1.Button2Click( Sender: TObject );
begin
  ClientDataSet1.WriteRecord( True ); // o :  ClientDataSet1.WriteRecord;
end;
...

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
 


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
Duplicar un registro ronaldyoung SQL 2 28-02-2011 06:14:50
Saber si un registro en un ClientDataset ya está en la BD droguerman OOP 3 22-03-2010 17:40:55
Updatear Registro ClientDataSet tonyskl Conexión con bases de datos 3 13-05-2008 17:01:34
Insertar registro en un ClientDataSet ElDioni Conexión con bases de datos 8 22-04-2008 18:21:10
Primer registro de un ClientDataSet?? Berto2003 Varios 4 13-03-2007 17:24:49


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


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