Fórum Tratando o prepare, e as transasões??? #42627

27/02/2004

0

Pessoal acabando de ler um artigo (10 Passos para fazer o Interbase ´voar´) indicado pelo nosso amigo A. Farias, descobri que nunca utilizei prepare IbDataSet e IbQuery,
uso assim:

dmdados.IbDsTalhao.Active := false;
dmdados.IbDsTalhao.SelectSQL.Text := ´SELECT * FROM VTALHAO WHERE COD_FAZ =:COD_FAZ ORDER BY DESCRICAO´;
dmdados.IbDsTalhao.Params[0].Value := COD_FAZ;
dmdados.IbDsTalhao.Active := TRUE;

Bom agora no meu entender devo utilizar assim:

dmdados.IbDsTalhao.Active := false;
dmdados.IbDsTalhao.unprepare;
dmdados.IbDsTalhao.prepare;
dmdados.IbDsTalhao.SelectSQL.Text := ´SELECT * FROM VTALHAO WHERE COD_FAZ =:COD_FAZ ORDER BY DESCRICAO´;
dmdados.IbDsTalhao.Params[0].Value := COD_FAZ;
dmdados.IbDsTalhao.Active := TRUE;

pois com a adição dessas duas linhas vou passar a controlar o prepare manualmente ...

Minha pergunta é a seguinte vcs podem perceber que uso o active para abrir, só que no artigo é indicado o open para tabelas com selects e para INSERT, UPDATE, e DELETE deve ser executadas pelo método ExecSQL, Esses métodos preparam a Query para ser executada caso isso ainda não tenha sido feito anteriormente, mas porem estou tratando o métado prepare manualmente será que posso ficar utilizando o active???

Outra pergunta sempre após efetuar o termino de uma operação pelo usuário efetuo o commit, assim mantendo todos os usuários com as informações atualizadas e após fechar o form em uso dou um active := false no componente IBTransaction pensando assim que finalizei a transação iniciada,, estou certo ?????


Marcos Fernando

Marcos Fernando

Responder

Posts

27/02/2004

Afarias

|pois com a adição dessas duas linhas vou passar a controlar o prepare
|manualmente ...

Não é necessário. O IBX otmiza bem isso automáticamente -- não há nenhuma necessidade de chamar explicitamente Prepare ou Unprepare.


|Outra pergunta sempre após efetuar o termino de uma operação pelo
|usuário efetuo o commit, assim mantendo todos os usuários com as
|informações atualizadas e após fechar o form em uso dou um active :=
|false no componente IBTransaction pensando assim que finalizei a
|transação iniciada,, estou certo ?????

Não é necessário. COMMIT ou ROLLBACK já colocam a propriedade Active do componente IBTransaction para FALSE.


T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar