Ver Mensaje Individual
  #6  
Antiguo 21-11-2014
blaiselaborde blaiselaborde is offline
Miembro
 
Registrado: nov 2006
Ubicación: Reino Unido
Posts: 40
Reputación: 0
blaiselaborde Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Bueno, sigues sin especificar nada, blaiselaborde, "un buen número de tablas" no nos dice nada. Y "cientos de registros" es algo minúsculo, realmente.
Gracias Casimiro y Neftalí por atender mi requerimiento.

El procedimiento es simple:

Abro un componente TQuery con la consulta que necesito y lo recorro en su totalidad, mientras lleno con los mismos registros un TClientDataSet utilizándolo como Tabla Local Temporal.

Sé que me puedo ahorrar el paso a la Tabla Local TClientDataSet, y conectar directamente la TQuery al DBGrid, pero mi pregunta es si se consigue la misma velocidad de respuesta por ejemplo al avanzar las Páginas o al mostrar filtrado los datos en el DBGrid desde la TQuery que desde el TClientDataSet, ya que desde éste es inmediata la respuesta por estar en Memoria Local.

Tengo Tablas con millones de registros, aunque no se descarga todo . . .

Por ejemplo:

Código Delphi [-]
  
Try
    cdsRegion.DisableControls;
    cdsRegion.CreateDataSet;
    cdsRegion.EmptyDataSet;

    DM.qrRegion.Close;
    DM.qrRegion.Open;
    DM.qrRegion.First;

        While Not DM.qrRegion.Eof do
          Begin
            cdsRegion.Append;
            cdsRegionSuperGroupId.AsInteger := DM.qrRegionSUPERGROUP_ID.AsInteger;
            cdsRegionSuperGroup.AsString      := DM.qrRegionSUPERGROUP.AsString;
            cdsRegion.Post;
          End; // While

    cdsRegion.First;
    cdsRegion.EnableControls;

    DM.qrRegion.Close;
Except
    On E: Exception do
      Application.MessageBox(PChar('SQL Error qrRegion --> ' + E.Message), 'Attention', MB_ICONERROR);
End; // Try
Responder Con Cita