[firebase-br] REFRESH NO MDO

Jorge Henrique Aguiar jorginho em tauruslocacoes.com.br
Sex Fev 18 12:35:24 -03 2005


Olá, povo!

Tenho uma duvida com relação ao metódo refresh no MDO. Eu faço da seguinte maneira meus inserts, updates e deletes:

Crio uma SP como esta:

CREATE PROCEDURE MAN_GRUPOS (
    INSTR SMALLINT,
    ID INTEGER,
    GRUPO VARCHAR(30),
    CODANT VARCHAR(6))
RETURNS (
    IDGRUPO INTEGER)
AS
BEGIN
  if (INSTR=1) then  /* 1=Inserir */
  begin
    ID=Gen_id(GRUPOS_ID,1);
    insert into grupos (Id,Grupo,CodAnt) values (:Id, :Grupo, :CodAnt);
    IDGRUPO=:ID;
  end else if (INSTR=2) then   /* 2=Atualizar */
  begin
    update grupos set Grupo=:Grupo,CodAnt=:CodAnt where (Id=:Id);
    IDGRUPO=:Id;
  end else if (INSTR=3) then   /* 3=Excluir */
  begin
    delete from Grupos where Id=:Id;
    IDGRUPO=:Id;
  end
  suspend;
END

Ela serve pra fazer as 3 operações, eu só passo o parametro INSTR, para ela fazer o que eu quero. Mas aí vem a minha dúvida: Se eu insiro ou atualizo um registro na tabela GRUPOS por meio da SP, como eu farei no MDO pra atualizar o dataset sem ter q abri-lo e fechá-lo????? O pior de tudo é q depois ainda tenho q posicionar no registro e dependendo do SELECT q estiver no dataset, o registro inserido/atualizado pode não aparecer, além de ficar sobrecarregando meu servidor com select´s desnecessários.

Vi na lista que o IBO parece q tem um recurso bom de atualização do dataset sem ter q trazer todo SQL novamente, isso funciona bem?

Utilizo D7+MDO+FB 1.5.2, pela fbclient.dll.

[]´s

Jorge Henrique.


Mais detalhes sobre a lista de discussão lista