Querry Firedac

Delphi

31/05/2013

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

Curtidas 0

Melhor post

Cleber Campos.

Cleber Campos.

07/06/2013

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

grato,
Cleber
GOSTEI 2

Mais Respostas

Cleber Campos.

Cleber Campos.

31/05/2013

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
GOSTEI 0
Volmir Santos

Volmir Santos

31/05/2013

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
GOSTEI 0
Cleber Campos.

Cleber Campos.

31/05/2013

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

Cleber
GOSTEI 1
Cleber Campos.

Cleber Campos.

31/05/2013

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

Cleber
GOSTEI 0
Luiz Ferreira

Luiz Ferreira

31/05/2013

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
GOSTEI 0
Marco Antônio

Marco Antônio

31/05/2013

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.
GOSTEI 0
POSTAR