Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Problemas Con El Clientdataset Y Tztable (https://www.clubdelphi.com/foros/showthread.php?t=61800)

foxito 22-11-2008 15:41:28

Problemas Con El Clientdataset Y Tztable
 
Hola Delphineros, vengo con un problema, resulta que estoy desarrollando una alta de medicos en una tabla de MySQL vs DELPHI 7 y utilizó las librerias de ZEOS los Componentes TZTABLE, DATASETPROVIDER1, CLIENTDATASET1 Y DATASOURCE y estan enlazados de la siguiente manera:

TZTABLE : CONNECTION = CON MI DATAMODULE
DATASETPROVIDER1 : DATASET = TZTABLE
CLIENTDATASET1 : PROVIDERNME = DATASETPRIVDER1
DATASOURCE : DATASET = CLIENTDATASET1

Al darle un click e insertar un nuevo registro no lo realiza y mi codigo es este:

Código Delphi [-]
procedure TFAna_Clinicos.FormCreate(Sender: TObject);
begin
  ClientDataSet1.Open;
  TAnaClinicos.Close;
end;
 
procedure TFAna_Clinicos.TBNewClick(Sender: TObject);
begin
  If TNew then  //Nuevo
    Begin
//      TAnaClinicos.Append;
      ClientDataSet1.Append;
//      Init_Field();
      DBEdit2.SetFocus;
      TBNew.ImageIndex := 1;
      TBNew.Caption := 'F4:  Salvar';
      TBNew.Hint := 'Grabar los cambios';
      TNew  := False;
    End
  Else
    Begin
//      TAnaClinicos.Post;
      ClientDataSet1.ApplyUpdates(0);
      Init_Field();
      EdReg.Text  := IntToStr(TAnaClinicos.RecordCount);
      TBNew.ImageIndex := 0;
      TBNew.Caption := 'F3:  Nuevo';
      TBNew.Hint := 'Nuevo registro';
      TNew  := True;
    End;
end;

Ayudeme porque no se realiza la inserción, ademas de que en mi FORM no se queda en blanco como si omitiera la inserción

enecumene 22-11-2008 16:04:04

Hola, dos cosas:

1) En ningún momento has abierto la tabla TAnaClinicos.
2) Con ClientDataset debes realizar Insert...Post y luego el ApplyUpdates.

Haz esos cambios y luego nos comentas.

Saludos.

foxito 22-11-2008 20:41:08

Hola ecumene, antes que nada gracas por contestarme mi msg. ya abri la TZTABLE.OPEN; pero aún asi no realiza nada. No se ve el efecto de insercción de registro... por ej. en mi dbgrid no inserta ningún registro solo se posiciona en primer registro del dbgrid.

Gracias

enecumene 23-11-2008 01:16:20

¿Luego del Append realizaste el Post?, porque para grabar en el clientdataset debes realizar el post para luego grabar en la base fisica via del Applyupdates.

Saludos.

foxito 24-11-2008 17:38:37

gracias nuevamente por cotestarme y estarme ayudando econumene... despues del CLIENTDATASET.APPEND; le adicione el CLIENTDATASET.POST;
pero ahora me manda el siguiente error FIELD 'Nombre' MUST HAVE A VALUE

estoy haciendo otra burrada:D


La franja horaria es GMT +2. Ahora son las 19:37:28.

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