de Table para IBDataSet (afarias me ajuda!!!)

Firebird

26/01/2004

Estou começando a usar o IBX, fiz o ´exemplo basico de IBX´ que afarias postou e estou com algumas duvidas:

* Como eu usava tables, tinha codigos com filter como eu vou fazer essas consultas apartir de agora? e usar locate é recomendavel? se não o que é?

* Eu salvo os registros com .post; e depois dou um .refresh; eu teria que fazer mais o que além disso?


agradeço desde já


Marbravo

Marbravo

Curtidas 0

Respostas

Sremulador

Sremulador

26/01/2004

Como eu usava tables, tinha codigos com filter como eu vou fazer essas consultas apartir de agora? e usar locate é recomendavel? se não o que é?


Você pode fazer consultas de viversas maneiras amigo

1 - Com os cods sql
Select * from Clientes
Where clientes=Carlos
2 - Locate
Table.locate(´campo´, pesquisa, [])



* Eu salvo os registros com .post; e depois dou um .refresh; eu teria que fazer mais o que além disso?


Você tem que dar o commit para que seja trasferido para o banco de dados as informações.

try
dmc.itens_est.FieldByName(´PDDV´).Text:= e0.Text;
dmc.itens_est.FieldByName(´PDGP´).Text:= e2.Text;
dmc.itens_est.FieldByName(´PDUE´).Text:= e8.Text;
dmc.itens_est.FieldByName(´PDUC´).Text:= e10.Text;
dmc.itens_est.FieldByName(´PDTA´).Text:= e13.Text;
dmc.itens_est.FieldByName(´PDAV´).Value := C1.ItemIndex;
dmc.itens_est.FieldByName(´PDBI´).Value := C4.Text;
dmc.itens_est.Post;

sv.Enabled:= false;
nv.Enabled:= True;
if fechar = 1 then
close else begin
dmc.Itens_epc_deta.Insert;
dmc.Itens_epc_deta.FieldByName(´MDME´).AsInteger:= 1;
dmc.Itens_epc_deta.FieldByName(´MDPD´).AsInteger:= dmc.itens_est.FieldByName(´PDCD´).AsInteger;
dmc.Itens_epc_deta.FieldByName(´MDBI´).Text:= dmc.itens_est.FieldByName(´PDBI´).Text;
dmc.Itens_epc_deta.FieldByName(´MDDS´).Text:= dmc.itens_est.FieldByName(´PDDS´).Text;
dmc.Itens_epc_deta.FieldByName(´MDVV´).AsCurrency:= E19.Value;
dmc.Itens_epc_deta.Post;

nv.SetFocus;
end;

dmc.Transacao.CommitRetaining; // trasnferiri informação ao banco
except
dmc.Transacao.RollbackRetaining; //se der erro anular processo
messagedlg (men (057), mterror, [mbok], 0);
end;


GOSTEI 0
Afarias

Afarias

26/01/2004

|* Como eu usava tables, tinha codigos com filter como eu vou fazer
|essas consultas apartir de agora?

Usando SQL de preferência (WHERE ...)
A propriedade Filter não funciona no IBX mas vc pode usar o evento OnFilterRecord, mas não basei seus sistemas nisso, isso é só adicional -- vc deve sempre usar condições WHERE para definir os registros q deseja.


|e usar locate é recomendavel? se não o que é?

Pode ser usado sim, sem problemas (mas não como substituto do WHERE)


|* Eu salvo os registros com .post; e depois dou um .refresh; eu teria
|que fazer mais o que além disso?

Commit quando quizer confirmar a transação no banco.


T+


GOSTEI 0
POSTAR