[firebase-br] Componentes Nativos

CPD (Borborema-Imperial Transportes Ltda) cpd em borborema.com.br
Sex Out 20 19:09:35 -03 2006


Eu também utilizo o Zeos a mais de 2 anos e o recomendo, nunca tive
problemas com ele, utilizei com o delphi 5, 6 e 7 e estou utilizando no
Delphi 2005 Pro. O grupo está em alta produção, e se alguém teve algum
problema acho que é porque não soube utilizar, eu sou Zeos e não abro mão,
até agora né ....

Alexandre.

----- Original Message ----- 
From: "Magno System" <magno em speet.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, October 20, 2006 2:29 PM
Subject: [firebase-br] Componentes Nativos


Eduardo Jedliczka disse ter tomado sustos em um programa que fez usando
zeos. Eduardo gostaria de saber que susto foi esse, o que aconteceu
exatamente ? Trabalho com Zeos e gostaria de estar preparado.
Bem, quanto ao Zeos, no início a impressão que se tem é que ele é um
componente cheio de falhas e bugs, mas ao tomar certas providências hoje,
pelo menos para mim, ele está funcionando 100 %.

1 - Já vi muitas pessoas dizendo que setaram a propriedade autocommit do
zconnection para true e as procedures do firebird não commitavam. Pessoal: o
autocommit só se aplica quando por exemplo: ZQuery.post / ZQuery.delete. As
ZQuery devem estar ligadas ao ZUpdateSql, que é o componente que armazena as
rotinas de alteração, deleção e inserção de cada tabela. Então a cada post e
delete ele executa a rotina sql pertinente e se o autocommit do zconnection
for igual a true ele já comita.

Para procedures faça o seguinte: ZConnection.starttransaction / execproc /
ZConnection.commit. Mesmo com o autocommit = true.


2 - Pude perceber que algumas procedures com parâmetros de saída quando
executadas 2 vezes seguida (por exemplo, procedure para inserir itens numa
venda) a segunda vez retornava erro. Resolução: Armazeno os componentes
Zstoredproc dentro de uma datamodule que eu chamo de temporária, aí faço
assim

Try
   Criar Datamodule
   Abrir Transação
   Incluir parâmetros de entrada
   Executar a procedure
   Commitar a transação
   Armazenar parâmetros de saida
Finally
   Datamodule.free;
end

Com isso resolvi meu problema.

3 - Quando inserir um registro que contenha campos chaves incrementados por
generators, sempre dê um refresh após o post.
Preste atenção. O componente só vai reconhecer o valor incrementado pelo
firebird após um refresh. Ex: Insiro o cliente José da Silva e dou um post.
A generator dá o valor 1 para o código do cliente. Se eu não der um refresh
o componente não enxergará o valor 1. Aí em seguida eu ponho o endereço do
josé da silva e dou um post. A principio ele parece que gravou, mas quando
abro e fecho o programa conta o codigo 1  o nome José da Silva e o endereço
em branco. Motivo: Como no instante em que gravei o endereço o componente
ainda não conhecia o codigo do cliente ele deu um UPDATE ENDERECO WHERE
CODIGO = NULL ou qualquer coisa similar, logo o firebird não atualizou pois
o codigo do josé da silva é 1. Portanto basta um refresh depois da inserção.

4 - Quando inserir campos chaves dentro da zquery cujos valores são
incrementados por generators eles são inseridos com a propriedade required =
true. Mude para false, pois senão dará erro quando for inserir um dado, pois
você não digitará nenhum valor neste campo (ele será criado pelo firebird).

Bem, fazendo isto ainda não tive problemas com zeos, mas caso alguém já
tenha tido favor postar que acho que é do meu e te qualquer um que use ou
pense em usar este componente, que na minha opinião se bem trabalhado é
simples, muito rápido e eficiente. A versão do zeos que estou usando é 6.5.1
alpha CVS as of 13/10/2005.
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa



-- 
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.408 / Virus Database: 268.13.8/489 - Release Date: 20/10/2006




-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.408 / Virus Database: 268.13.8/489 - Release Date: 20/10/2006





Mais detalhes sobre a lista de discussão lista