Fórum Ajuda: dbgrid 10 registros por vez #463758
11/12/2013
0
Pedro
Curtir tópico
+ 0Posts
11/12/2013
Marcos Saffran
você pode alterar o comando select da query, incluindo o limit.
select * from 'tabela' limit 10 (buscará 10 registros)
select * from 'tabela' limit 5, 10 (buscará os registros de 6 a 10)
Gostei + 0
12/12/2013
Pedro
Entendi. Mas e no caso do botão para avançar e retornar? Saberia me dizer como ficaria?
você pode alterar o comando select da query, incluindo o limit.
select * from 'tabela' limit 10 (buscará 10 registros)
select * from 'tabela' limit 5, 10 (buscará os registros de 6 a 10)
Gostei + 0
12/12/2013
Marcos Saffran
Entendi. Mas e no caso do botão para avançar e retornar? Saberia me dizer como ficaria?
você pode alterar o comando select da query, incluindo o limit.
select * from 'tabela' limit 10 (buscará 10 registros)
select * from 'tabela' limit 5, 10 (buscará os registros de 6 a 10)
Para o Primeiro select tente:
select * from 'tabela' limit 0, 10
Para o Segundo:
select * from 'tabela' limit 10, 10
usando o limit inicio, quantidade de linhas, então é só criar uma variável global que guardará o início, assim para avançar será a variável global + 10 e para retroceder será a variável global - 10 (limitando a 0).
Gostei + 0
12/12/2013
Pedro
Desculpa a minha ignorancia, mas não entedi muito bem a questão da variavél global. Teria como me dar um explo de código?
Desde já agradeço,
Entendi. Mas e no caso do botão para avançar e retornar? Saberia me dizer como ficaria?
você pode alterar o comando select da query, incluindo o limit.
select * from 'tabela' limit 10 (buscará 10 registros)
select * from 'tabela' limit 5, 10 (buscará os registros de 6 a 10)
Para o Primeiro select tente:
select * from 'tabela' limit 0, 10
Para o Segundo:
select * from 'tabela' limit 10, 10
usando o limit inicio, quantidade de linhas, então é só criar uma variável global que guardará o início, assim para avançar será a variável global + 10 e para retroceder será a variável global - 10 (limitando a 0).
Gostei + 0
12/12/2013
Pedro
Desculpa a minha ignorancia, mas não entedi muito bem a questão da variavél global. Teria como me dar um explo de código?
Desde já agradeço,
Entendi. Mas e no caso do botão para avançar e retornar? Saberia me dizer como ficaria?
você pode alterar o comando select da query, incluindo o limit.
select * from 'tabela' limit 10 (buscará 10 registros)
select * from 'tabela' limit 5, 10 (buscará os registros de 6 a 10)
Para o Primeiro select tente:
select * from 'tabela' limit 0, 10
Para o Segundo:
select * from 'tabela' limit 10, 10
usando o limit inicio, quantidade de linhas, então é só criar uma variável global que guardará o início, assim para avançar será a variável global + 10 e para retroceder será a variável global - 10 (limitando a 0).
Gostei + 0
12/12/2013
Marcos Saffran
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
btnRetroceder: TButton;
btnAvancar: TButton;
Edit1: TEdit;
procedure btnAvancarClick(Sender: TObject);
procedure btnRetrocederClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
LinhaBD : Integer = 0; //variável global, iniciando com 0
implementation
{$R *.dfm}
procedure TForm1.btnAvancarClick(Sender: TObject);
begin
LinhaBD := LinhaBD + 10;
//abaixo você colocará os comandos do select
'select * from 'tabela' limit ' + LinhaBD + ',10;';
end;
procedure TForm1.btnRetrocederClick(Sender: TObject);
begin
LinhaBD := LinhaBD - 10;
if LinhaBD < 0 then
LinhaBD := 0;
//abaixo você colocará os comandos do select
'select * from 'tabela' limit ' + LinhaBD + ',10;';
end;
end.Gostei + 0
12/12/2013
Marcos Saffran
Depois do select você coloca
ROWS <m> [TO <n>]
onde o m é a linha inicial e o n é a linha final.
então no exemplo que enviei coloque assim
'select * from 'tabela' rows ' + IntToStr(LinhaBD) + ' to ' + IntToStr(LinhaBD + 10);
Obs:
1 - o ROWS deve ficar no final do comando.
2 - o m e o n devem ser maior ou igual a 1, portanto altere o valor inicial da variável LinhaBD para 1 e no if do botão retroceder troque o zero pelo um 1.
Gostei + 0
12/12/2013
Pedro
Abs amigo,
Depois do select você coloca
ROWS <m> [TO <n>]
onde o m é a linha inicial e o n é a linha final.
então no exemplo que enviei coloque assim
'select * from 'tabela' rows ' + IntToStr(LinhaBD) + ' to ' + IntToStr(LinhaBD + 10);
Obs:
1 - o ROWS deve ficar no final do comando.
2 - o m e o n devem ser maior ou igual a 1, portanto altere o valor inicial da variável LinhaBD para 1 e no if do botão retroceder troque o zero pelo um 1.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)