Ver Mensaje Individual
  #1  
Antiguo 24-03-2014
camiz camiz is offline
Miembro
 
Registrado: ene 2012
Posts: 69
Reputación: 13
camiz Va por buen camino
Guardar en base de datos desde controles creados en tiempo de ejecucion

hola amigos necesito su ayuda, estoy realizando una aplicación que el usuario diseña su propio formulario y luego lo carga su diseño hasta hay todo bien el problema que tengo es para guardar los datos ingresados en los Edit y Memos he creado este código pero hay un problema que solo me guarda los datos del ultimo control en todos los campos de la tabla, a ver si alguien me da una manito Gracias.

Código Delphi [-]
var
  Field: TField;
  Lista: TList;
  f, I: Integer;
  Edit: TEdit;
  Memo: TMemo;
begin
  frmConeccion.Guardar.SQL.Clear;
  frmConeccion.Guardar.SQL.Text := 'select * from tabla where idtabla=:id';
  frmConeccion.Guardar.Active := True;
  frmConeccion.Guardar.Open;
  frmConeccion.Guardar.insert;
  for f := 1 to frmConeccion.Guardar.FieldCount-1 do
  begin
    if frmConeccion.Guardar.Fields[f] is TField then
    begin
      Field := frmConeccion.Guardar.Fields[f] as TField;

      Lista := TList.Create;
      try
        frmPlantilla.ScrollB.GetTabOrderList(Lista);
        for I := 0 to Lista.Count - 1 do

        if TWinControl(Lista[i]) is TEdit then
          Field.AsString := TEdit(Lista[i]).Text
        else
        if TWinControl(Lista[i]) is TMemo then
          Field.AsString := TMemo(Lista[i]).Lines.Text
        else
      finally
       Lista.Free;
      end;
    end;
  end;
  frmConeccion.Guardar.Post;
  frmConeccion.Guardar.Close;
  Application.MessageBox('Registros Guardados correctamente','Mensaje',MB_ICONINFORMATION or MB_OK);
  frmConeccion.Guardar.Active := False;
Responder Con Cita