ya logre solucionarlo era un error mio tenia que poner en el evento on create
Código Delphi
[-]
form4.ClientDataSet1.CreateDataSet;
form4.ClientDataSet1.Open;
pero ahora me surgio otro problema jeje ya me pasa los registros que necesite al db grid pero al guardarlos si tengo 3 registros nomas me guarda el ultimo registro en mi base de datos en mysql este es el codigo con el que intento guardarlo ojala me puedan ayudar
Código Delphi
[-]
begin
DBGrid1.DataSource.DataSet.First;
While not (DBGrid1.DataSource.DataSet.Eof) Do
begin
query.Close;
query.SQL.Clear;
query.SQL.Add('INSERT INTO entradas (codigo, nombre, unidad, cantidad, precio, importe)');
query.SQL.Add('VALUES ( : pcodigo,: pnombre, : punidad,
:pcantidad, :pprecio, :pimporte )');
query.ParamByName('pcodigo').Value:=DBGrid1.DataSource.DataSet.FieldByName('codigo').value;
query.ParamByName('pnombre').Value:=DBGrid1.DataSource.DataSet.FieldByName('nombre').value;
query.ParamByName('punidad').Value:=DBGrid1.DataSource.DataSet.FieldByName('unidad').value;
query.ParamByName('pcantidad').Value:=DBGrid1.DataSource.DataSet.FieldByName('cantidad').value;
query.ParamByName('pprecio').Value:=DBGrid1.DataSource.DataSet.FieldByName('precio').value;
query.ParamByName('pimporte').Value:=DBGrid1.DataSource.DataSet.FieldByName('importe').value;
DBGrid1.DataSource.DataSet.Next;
query.ExecSQL;