PDA

Ver la Versión Completa : guardar los datos de un clientdataset


lucas05
01-12-2011, 15:58:16
Hola, tengo un form con una tabla temporal ClientDataSet1, un DateTimePicker y varios Edit1, Edit2, Edit3.
Los datos de la tabla temporal los muestro en una grilla. Lo que quiero hacer es guardar los registros de la tabla temporal (pero no todos los campos del registro, sino algunos campos), la fecha que muestra el datetimepicker y el contenidos de los edits en una tabla de una base de datos(MySQL).

Espero que puedan ayudarme. Muchas Gracias.

oscarac
01-12-2011, 16:10:44
guardarlos donde????

ElDioni
01-12-2011, 16:16:21
Pues en un clientdataset igual que en un adoquery.

ClientDataSet1.Insert;
ClientDataSet1.FieldByname('campo1').AsString:=Edit1.Text;
ClientDataSet1.FieldByname('campo2').AsString:=Edit2.Text;
ClientDataSet1.Post;

Saludos.

ecfisa
01-12-2011, 16:16:48
Hola Lucas.

Si estás usando un ClientDataSet en memoria, podrías recorrerlo e ir guardando los datos en una tabla definitivamente.

Un ejemplo en el aire como para darte una idea:

...
CDS.First;
while not CDS.Eof do
begin
DataSet.Append; // si vas a agregar los campos
DataSet.FieldByName('FECHA').Value := CDS.FieldByName('FECHA').Value;
DataSet.FieldByName('CAMPO1').Value := CDS.FieldByName('CAMPO1').Value;
// Demás campos ...
DataSet.Post;
CDS.Next
end;
...

Donde CDS es el ClientDataSet y DataSet la tabla de tu bd. (Los nombres de campos deberas cambiarlos por los que les hayas dado)

Saludos.

lucas05
02-12-2011, 01:18:03
Hola ecfisa, gracias por tu ayuda, tu solución funciona bien.

Saludos.