Olá!
Hoje vamos corrigir um BUG no Zeos!
Ohhhhhhhh...
Não é nada de mais, mas com certeza atrapalha o cara na hora de decidir se usa ou não o Zeos.
O problema é no componente TZUpdateSQL.
O objetivo deste componente é o de gerar, rapidamente, instrução DML, ou seja, Insert, Delete e Update.
Basicamente, você deve ligar um TZQuery a um TZUpdateSQL, dar dois cliques neste último, clicar em alguns botões e, voilá, poderemos editar as tabelas.
E qual o problema?
Por um desses mistérios da vida, o PostgreSQL não aceita esse tipo de instrução:
insert into tabela (tabela.campo1) values ('teste');
O que pega é justamente o trecho: tabela.campo1.
E só porque o PostgreSQL não aceita isso o TZUpdateSQL gera as isntruções justamente assim.
A princípio, bastaria apenas desmarcar a opção Quote Field Names, que, no momento dessas mal traçadas linhas, eu não sei bem ao certo o objetivo.
Para corrigir esta situação, proceda da seguinte forma:
1) Feche todo r qual projeto do Delphi;
2) Abra o ZComponentDesign100.bpl;
3) Procure a unit ZUpdateSqlEditor;
4) Localize a function GetTableRef;
5) Acrescente os ovos;
6) Mude a intrução if QuoteChar <> '' then para if (Self.QuoteFields.Checked) then;
7) Compile e instale a BPL;
8) Reabra o seu projeto e seja mais produtivo!
Obviamente pode ser que haja uma solução mais elegante que esta e se houver eu realmente gostaria de saber.
Mas em todo o caso, esta é uma solução.
Feliz Código a todos.
Torre de Babel
-
Organizar a "Torre de Babel" vai ser mais difícil do que o Gerente
imaginava.
------------------------------
Torre de Babel é um post do blog Vida de Sup...