PDA

Ver la Versión Completa : Mostrar todos los registros de un select * from con un FDQuery


Soa Pelaez
08-09-2017, 22:25:39
Buen día.

Tengo una conexión con FIREDAC mediante FDConnection y mediante un FDQuery realizo un select a una tabla con n registros, lo que requiero es visualizar todos los registros en un DBGrid, pero en el momento me los está trayendo por bloques de 50 que tiene por defecto la propiedad RowSetSize del FDQuery, lo que requiero es que muestre todos los registros sin colocar en la propiedad nombrada anteriormente un tope porque dicha tabla los registros irán aumentando a medida que el usuario los inserte, con un ClientDataset es solo colocar la propiedad FetchOnDemand en True y los muestra todos, requiero esto mismo con el FDQuery, si alguien puede ayudarme se lo agradeceria.


Gracias.

AgustinOrtu
09-09-2017, 01:49:27
Revisando la documentacion (http://docwiki.embarcadero.com/RADStudio/en/Fetching_Rows_(FireDAC)):


FireDAC is fetching rowsets according to the FetchOptions.Mode property:
fmOnDemand--the rowset is automatically fetched when the dataset is trying to move the current position beyond the last fetched record.
fmAll--all the rowsets are automatically fetched right after executing the SQL command. This is similar to calling the FetchAll method.
fmManual--the programmer manually fetches the rowsets using the FetchNext or FetchAll methods.
fmExactRecsMax--all rowsets are automatically fetched right after executing the SQL command. If the number of rows is different from FetchOptions.RecsMax, an exception is raised.


Otra opcion es llamar al metodo FetchAll (http://docwiki.embarcadero.com/Libraries/en/FireDAC.Comp.DataSet.TFDDataSet.FetchAll)

Soa Pelaez
09-09-2017, 16:00:29
Revisando la documentacion (http://docwiki.embarcadero.com/RADStudio/en/Fetching_Rows_(FireDAC)):



Otra opcion es llamar al metodo FetchAll (http://docwiki.embarcadero.com/Libraries/en/FireDAC.Comp.DataSet.TFDDataSet.FetchAll)

Lo intente pero aún así me sigue trayendo los registros por bloque y no como lo requiero que son todos.

AgustinOrtu
09-09-2017, 19:35:07
Haz la prueba en una aplicación vacía porque esto es algo que funciona, debe haber algo en tu programa que cause el problema