Atualizar dados com Zeos + Oracle, Delphi
Após várias tentativas, integrar Oracle + Delphi + Zeos aparentemente ficou fácil!
Depois de algum tempo tentando integrar o Delphi 7 + Oracle, finalmente consegui!!
Estava com o seguinte problema: Conectava o Zeos a uma aplicação com banco de dados Oracle XE (free), conseguia atualizar tabelas (ZTables) mas para aplicações com muito tráfego atualizar tabelas não seria uma boa escolha pois ela trariam todas as tuplas da tabela, seria um select * da vida.
Então resolvi utilizar o ZQuery onde no programa coloco um sql do tip ( select * from cliente where cod_cli = :cod_cli). No construtor do programa abro a query.OPEN e então consigo visualizar os dados pesquisado (cod_cli). O problema estava quando tentava inserir, atualizar, ou deletar os dados. Simplesmente não fazia nenhuma ação.
Solução:
- No componente Zconnection:
- configurar a propriedade TransactionIsolationLevel para tiReadCommited, com isso usuários só enxergaram dados atualizados
- Verificar o AutoCommit = true
- No form de cadastro de cliente:
- Inserir um componente TZUpdateSQL, e para cada ação (insert, modify, delete) inserir os dados. Quais dados ? Eu fui na tentativa e erro e peguei todos os campos da minha tabela e fiz o seguinte
set
cli_cod = :cli_cod,
cli_nome= :cli_nome,
cli_cpf = :cli_cpf,
cli_logradouro = :cli_logradouro,
...
where cli_cod = :old_cli_cod
Depois para na propriedade PARAMS definir o tipo de todos, repeti para as outras ações:
- Insert:
cli_nome,
cli_cpf,
cli_logradouro, ...)
values( :cli_cod, cli_nome .....)
- Delete
where cli_cod =:cli_cod
Pronto! Na propriedade UpdateObject da query selecionei o componente TZUpdate e agora ORACLE RUN !!
Qualquer dúvida pode mandar email!
Até a próxima!
3 Responses to Atualizar dados com Zeos + Oracle, Delphi
o pai óh, funcionou esse treco ?
Teve um problema com o insert e delete. Mas fui no forum do zeos e o pessoal já tinham uma nova versão do bug que será lançada em umanova versão.
Vou atualizar este post,vlws.
E cadê o seu blog zé ?
aehauh
Forum zeos
uai, taew pow!
davidsellen.blogspot.com
Something to say?