TIBDataSet - Urgente
[b:e5ebf440ec]Leiam com atenção[/b:e5ebf440ec]
implementation
uses uDmDados;
{$R *.dfm}
procedure LimpaEdit (Form: TForm);
var
i : Integer;
begin
for i := 0 to frmCadClientes.ComponentCount - 1 do
if frmCadClientes.Components[i] is TCustomEdit then
(frmCadClientes.Components[i] as TCustomEdit).Clear;
end;
Procedure HabilitaControles (Form: Tform);
var i: Integer;
begin
for i := 0 to frmCadClientes.ComponentCount-1 do
if frmCadClientes.Components[i] is TCustomEdit then
(frmCadClientes.Components[i] as TCustomEdit).Enabled:=True;
end;
Procedure DesabilitaControles (Form: Tform);
var i: Integer;
begin
for i := 0 to frmCadClientes.ComponentCount-1 do
if frmCadClientes.Components[i] is TCustomEdit then
(frmCadClientes.Components[i] as TCustomEdit).Enabled:=False;
end;
procedure TfrmCadClientes.btnNovoClick(Sender: TObject);
begin
begin
dmDados.tbClientes.Insert;
btnNovo.Enabled:=False;
btnGravar.Enabled:=True;
btnEdit.Enabled:=False;
btnExcluir.Enabled:=False;
HabilitaControles(frmCadClientes);
DBEdit1.SetFocus;
end;
end;
[size=18:e5ebf440ec][color=red:e5ebf440ec][b:e5ebf440ec]Quando efetuo o comando novo e clico em gravar, a TIBDataSet fica com os registros desordenados, eu quero que fique ordenado como antes, por nome. Esta é a instrução SQL que esta na propriedade SelectSQL da TIBDataSet=select * from CLIENTES
order by nome. O que eu devo fazer?[/b:e5ebf440ec][/color:e5ebf440ec][/size:e5ebf440ec]
procedure TfrmCadClientes.btnGravarClick(Sender: TObject);
begin
dmDados.tbClientes.Post;
btnNovo.Enabled:=True;
btnEdit.Enabled:=True;
btnExcluir.Enabled:=True;
btnGravar.Enabled:=False;
DesabilitaControles(frmCadClientes);
end;
procedure TfrmCadClientes.btnCancelarClick(Sender: TObject);
begin
dmDados.tbClientes.Cancel;
DesabilitaControles(frmCadClientes);
btnNovo.Enabled:=True;
btnGravar.Enabled:=False;
btnEdit.Enabled:=True;
btnExcluir.Enabled:=True;
end;
procedure TfrmCadClientes.btnPrimeiroClick(Sender: TObject);
begin
dmDados.tbClientes.First;
end;
procedure TfrmCadClientes.BitBtn2Click(Sender: TObject);
begin
dmDados.tbClientes.Prior;
end;
procedure TfrmCadClientes.BitBtn3Click(Sender: TObject);
begin
dmDados.tbClientes.Next;
end;
procedure TfrmCadClientes.BitBtn4Click(Sender: TObject);
begin
dmDados.tbClientes.Last;
end;
procedure TfrmCadClientes.FormCreate(Sender: TObject);
begin
if Length(dmDados.tbClientesCPFCNPJ.Value) <= 11 then // pessoa física
begin
dmDados.tbClientesCPFCNPJ.EditMask:= ´999\.999\.999\-99;0;_´;
end
else // pessoa jurídica
begin
dmDados.tbClientesCPFCNPJ.EditMask := ´99\.999\.999\/9999\-99;0;_´;
end;
DesabilitaControles(frmCadClientes);
HabilitaBases;
end;
procedure TfrmCadClientes.btnEditClick(Sender: TObject);
begin
dmDados.tbClientes.Edit;
HabilitaControles(frmCadClientes);
btnNovo.Enabled:=False;
btnEdit.Enabled:=False;
btnExcluir.Enabled:=False;
end;
procedure TfrmCadClientes.btnExcluirClick(Sender: TObject);
begin
dmDados.tbClientes.Delete;
LimpaEdit(frmCadClientes);
dmDados.tbClientes.Last;
end;
Procedure TfrmCadClientes.HabilitaBases;
begin
dmDados.CadchecDb.Connected:=True;
dmDados.ClienteTras.Active:=True;
dmDados.tbClientes.Active:=True;
end;
Procedure TfrmCadClientes.DesabilitaBases;
begin
dmDados.CadchecDb.Connected:=False;
dmDados.ClienteTras.Active:=False;
dmDados.tbClientes.Active:=False;
end;
procedure TfrmCadClientes.FormDestroy(Sender: TObject);
begin
dmDados.CadchecDb.Connected:=False;
dmDados.ClienteTras.Active:=False;
dmDados.tbClientes.Active:=False;
end;
procedure TfrmCadClientes.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
DesabilitaBases;
end;
end.
implementation
uses uDmDados;
{$R *.dfm}
procedure LimpaEdit (Form: TForm);
var
i : Integer;
begin
for i := 0 to frmCadClientes.ComponentCount - 1 do
if frmCadClientes.Components[i] is TCustomEdit then
(frmCadClientes.Components[i] as TCustomEdit).Clear;
end;
Procedure HabilitaControles (Form: Tform);
var i: Integer;
begin
for i := 0 to frmCadClientes.ComponentCount-1 do
if frmCadClientes.Components[i] is TCustomEdit then
(frmCadClientes.Components[i] as TCustomEdit).Enabled:=True;
end;
Procedure DesabilitaControles (Form: Tform);
var i: Integer;
begin
for i := 0 to frmCadClientes.ComponentCount-1 do
if frmCadClientes.Components[i] is TCustomEdit then
(frmCadClientes.Components[i] as TCustomEdit).Enabled:=False;
end;
procedure TfrmCadClientes.btnNovoClick(Sender: TObject);
begin
begin
dmDados.tbClientes.Insert;
btnNovo.Enabled:=False;
btnGravar.Enabled:=True;
btnEdit.Enabled:=False;
btnExcluir.Enabled:=False;
HabilitaControles(frmCadClientes);
DBEdit1.SetFocus;
end;
end;
[size=18:e5ebf440ec][color=red:e5ebf440ec][b:e5ebf440ec]Quando efetuo o comando novo e clico em gravar, a TIBDataSet fica com os registros desordenados, eu quero que fique ordenado como antes, por nome. Esta é a instrução SQL que esta na propriedade SelectSQL da TIBDataSet=select * from CLIENTES
order by nome. O que eu devo fazer?[/b:e5ebf440ec][/color:e5ebf440ec][/size:e5ebf440ec]
procedure TfrmCadClientes.btnGravarClick(Sender: TObject);
begin
dmDados.tbClientes.Post;
btnNovo.Enabled:=True;
btnEdit.Enabled:=True;
btnExcluir.Enabled:=True;
btnGravar.Enabled:=False;
DesabilitaControles(frmCadClientes);
end;
procedure TfrmCadClientes.btnCancelarClick(Sender: TObject);
begin
dmDados.tbClientes.Cancel;
DesabilitaControles(frmCadClientes);
btnNovo.Enabled:=True;
btnGravar.Enabled:=False;
btnEdit.Enabled:=True;
btnExcluir.Enabled:=True;
end;
procedure TfrmCadClientes.btnPrimeiroClick(Sender: TObject);
begin
dmDados.tbClientes.First;
end;
procedure TfrmCadClientes.BitBtn2Click(Sender: TObject);
begin
dmDados.tbClientes.Prior;
end;
procedure TfrmCadClientes.BitBtn3Click(Sender: TObject);
begin
dmDados.tbClientes.Next;
end;
procedure TfrmCadClientes.BitBtn4Click(Sender: TObject);
begin
dmDados.tbClientes.Last;
end;
procedure TfrmCadClientes.FormCreate(Sender: TObject);
begin
if Length(dmDados.tbClientesCPFCNPJ.Value) <= 11 then // pessoa física
begin
dmDados.tbClientesCPFCNPJ.EditMask:= ´999\.999\.999\-99;0;_´;
end
else // pessoa jurídica
begin
dmDados.tbClientesCPFCNPJ.EditMask := ´99\.999\.999\/9999\-99;0;_´;
end;
DesabilitaControles(frmCadClientes);
HabilitaBases;
end;
procedure TfrmCadClientes.btnEditClick(Sender: TObject);
begin
dmDados.tbClientes.Edit;
HabilitaControles(frmCadClientes);
btnNovo.Enabled:=False;
btnEdit.Enabled:=False;
btnExcluir.Enabled:=False;
end;
procedure TfrmCadClientes.btnExcluirClick(Sender: TObject);
begin
dmDados.tbClientes.Delete;
LimpaEdit(frmCadClientes);
dmDados.tbClientes.Last;
end;
Procedure TfrmCadClientes.HabilitaBases;
begin
dmDados.CadchecDb.Connected:=True;
dmDados.ClienteTras.Active:=True;
dmDados.tbClientes.Active:=True;
end;
Procedure TfrmCadClientes.DesabilitaBases;
begin
dmDados.CadchecDb.Connected:=False;
dmDados.ClienteTras.Active:=False;
dmDados.tbClientes.Active:=False;
end;
procedure TfrmCadClientes.FormDestroy(Sender: TObject);
begin
dmDados.CadchecDb.Connected:=False;
dmDados.ClienteTras.Active:=False;
dmDados.tbClientes.Active:=False;
end;
procedure TfrmCadClientes.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
DesabilitaBases;
end;
end.
Jeovaal2000
Curtidas 0
Respostas
Afarias
04/03/2004
2 saídas::
1- re-executar a query (fechar e abrir o IBDataSet)
2- usar um dataSet de memória (ex: ClientDataSet) para poder ordenar o buffer
T+
1- re-executar a query (fechar e abrir o IBDataSet)
2- usar um dataSet de memória (ex: ClientDataSet) para poder ordenar o buffer
T+
GOSTEI 0