Cita:
Empezado por Casimiro Notevi
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;
cdsRegion.First;
cdsRegion.EnableControls;
DM.qrRegion.Close;
Except
On E: Exception do
Application.MessageBox(PChar('SQL Error qrRegion --> ' + E.Message), 'Attention', MB_ICONERROR);
End;