Querry Firedac
31/05/2013
0
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
Post mais votado
07/06/2013
Mudei a propriedade Mode para fmAll, do AdQuery e resolveu o meu problema.
grato,
Cleber
Cleber Campos.
Mais Posts
07/06/2013
Cleber Campos.
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
07/06/2013
Volmir Santos
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
07/06/2013
Cleber Campos.
Mude a propriedade Mode para fmAll e tente novamente.
aqui, funciounou 100%.
Cleber
07/06/2013
Cleber Campos.
Mude a propriedade Mode para fmAll e tente novamente.
aqui, funciounou 100%.
Cleber
21/03/2016
Luiz Ferreira
Utilize esse comando, por gentileza:
fdqry_Nome_Query.FetchOptions.RowSetSize:=1000 ;
Retornará 1000 na consulta
At,
Luiz Maia
23/03/2016
Marco Antônio
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.
Clique aqui para fazer login e interagir na Comunidade :)