Querry Firedac

31/05/2013

0

executei este sql pelo delphi utlizando o componente TadQuerry da firedac
com banco sqlite e esta me retornando apenas 50 registros
agora nao sei o que esta limitando os resultados
pois estou comecando agora a usar tanto o SqLite como o Firedac

Ex:
with qr do
begin
Close;
SQL.Clear;
SQL.Add('Select * from clientes '+
'order by codigo asc; ');
Open;
First;
end;
Result:=qr;
count:=qr.RecordCount;

e em meu banco se executar este mesmo sql e ele me retorna 490 registros
o que pode ser
Alguma Luz
Volmir Santos

Volmir Santos

Responder

Post mais votado

07/06/2013

Ola
Mudei a propriedade Mode para fmAll, do AdQuery e resolveu o meu problema.

grato,
Cleber

Cleber Campos.

Cleber Campos.
Responder

Mais Posts

07/06/2013

Cleber Campos.

Olá Volmir
tudo bom ?
ele retorna todos os registros, so que diferentemente dos drives q estamos acostumados a utilizar, ele retorna os primeiros 50 e ja os disponibiliza num grid por exemplo, e ao navegar pelo grid, vc percebe rapidamente q vai retornando o restante dos itens.
Tambem estou com esta dificuldade, pois necessito mostrar a qde de itens do select.

voce ja tem a solucao ?

valeu.
Cleber
Responder

07/06/2013

Volmir Santos

Achei a seguinte solucao nao sei se é a mais recomendada mas pra min funcionou e estou utilizando assim
De um duplo clique no componente de conexao
na aba options
na opcao fetch Option/general Fectching
tem o campo Rowset Size: 50
altera esta propriedade que vai funcionar
no meu caso alterei pra 50000
e estou usando tranquilamente
Obs: ainda estou testando nao posso afirmar que esta seja a alternativa correta.
Abço
Responder

07/06/2013

Cleber Campos.

Ola Volmir
Mude a propriedade Mode para fmAll e tente novamente.
aqui, funciounou 100%.

Cleber
Responder

07/06/2013

Cleber Campos.

Ola Volmir
Mude a propriedade Mode para fmAll e tente novamente.
aqui, funciounou 100%.

Cleber
Responder

21/03/2016

Luiz Ferreira

Retornando mais de 50 registros no FireDac

Utilize esse comando, por gentileza:

fdqry_Nome_Query.FetchOptions.RowSetSize:=1000 ;

Retornará 1000 na consulta

At,

Luiz Maia
Responder

23/03/2016

Marco Antônio

Retornando mais de 50 registros no FireDac

Utilize esse comando, por gentileza:

fdqry_Nome_Query.FetchOptions.RowSetSize:=1000 ;

Retornará 1000 na consulta

At,

Luiz Maia


Neste caso têm o detalhe que sempre você terá que saber a quantidade de registros que contem a sua tabela.
Ou seja, hoje tenho 1000. Mas amanhã tenho 1001. E ae? Terei que ficar mudando até quando isso no meu programa?
Essa propriedade não foi feito para isso.
Eu a utilizo basicamente qdo quero fazer algo do tipo: SELECT FIRST 50 * from cadClientes ORDER BY codCliente . Ou seja, retornar os cinquenta primeiros clientes. Mas como este comando depende do 'ResquestLive' esta 'False', o Delphi criou esta propriedade para limitar uma quantidade 'X' de registros. Ae sim, ao invés de ficar utilizando script no SQL para isso, eu configuro o 'RowSetSize' para a quantidade de registros que desejo mostrar.


Para resolver a questão é como o Cleber Silva Campos menciono. Basta alterar a propriedade para 'Mode' para 'fmAll'. O que eu acrescentaria é alterar tb a propriedade 'RecordCount' para 'cmTotal'.

Abc.
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar