Array
(
)

Componentes no DataModule P/ Interbase 6

Neto
   - 23 set 2004

:?: Olá a todos.
Estou desenvolvendo meu primeiro sistema em Interbase 6, já desenvolvo sistemas em Paradox.
Preciso de ajuda para definir a estrutura do datamodule de meu sistema.
Imagine que temos um Banco de Dados chamado GB. Neste Banco de Dados temos três tabelas sendo:
Clientes, Fabricas e Produtos.
Preciso entender quais componentes e em quais momentos devem ser utilizados.
Para um cadastro básico de Clientes o que será necessário para conseguir executar as opções de Inclusão, Alteração, Exclusão e Consulta? Considerando que será permitido navegar entre os registros (proximo e anterior).
Estou testando uma rotina para manutenção do cadastro de clientes com: IBDataSet1, IBTransaction1, IBDataSet1, TIBQuery e TDasaSource. Preciso de tudo isso, para cada tabela?? Ou posso em Run Time parametrizar os componentes IBDataSet, IBTransaction e IBDataSet.
Outra duvida e quando usar o componente IBTable e IBUpdateSQL???
Como padrão uso nos programas os botões – Incluir, Alterar, Excluir, Abandonar e Confirmar, quais as instruções que devo programar em cada um destes botoes.
Por favor caso possam me dar algumas dicas agradeço muito.
Muito Obrigado
Neto


Vinicius2k
   - 23 set 2004

Colega,

Citação:
Para um cadastro básico de Clientes o que será necessário para conseguir executar as opções de Inclusão, Alteração, Exclusão e Consulta? Considerando que será permitido navegar entre os registros (proximo e anterior).

De uma forma bem genérica pode-se dizer que :
IBDatabase, Fixo.
IBTransaction, comumente fixo, mas vc pode utilizar mais de um... eu normalmente utilizava um para as IBQueries e um para os IBDataSets... isto vai ficar a seu critério e vai depender do contexto do seu projeto quanto às transações.
IBDataSet -> DataSource, para as operações de Insert, Update e Delete
IBQuery -> DataSouce, para consultas... apesar de nada impedir que utilize-se 100¬ IBDataSet, tanto para consultas como para manutenção.


Citação:
Estou testando uma rotina para manutenção do cadastro de clientes com: IBDataSet1, IBTransaction1, IBDataSet1, TIBQuery e TDasaSource. Preciso de tudo isso, para cada tabela?? Ou posso em Run Time parametrizar os componentes IBDataSet, IBTransaction e IBDataSet.

Seu primeiro componente não seria IBDatabase?
Como disse acima, os IBTransactions, podem varias à sua escolha...
Basicamente, sim. Vc precisa de tudo isso. Mas não se preocupe com a quantidade e sim com a qualidade da aplicação usando tecnologias com processos bem distribuídos entre os componentes.
Vc até poderia fazer tudo em run time, mas valeria a pena o trabalho? creio que não... mas esta é uma decisão sua...


Citação:
Outra duvida e quando usar o componente IBTable e IBUpdateSQL???

IBTable : NUNCA. TxxxTables, não são projetadas para Cliente/Servidor, pois equivalem a um ´select * from tabela´, sem nenhuma parametrização de wheres, orders, groups, etc... basicamente, só existem para facilitar processos de migração quanto a compatibilidade...

IBUpdateSQL : Quando vc desejar que uma IBQuery, originalmente read-only, realize operações de manutenção de registros no banco de dados... em geral é dispensável, já que vc pode usar o IBDataSet para isso... encare o IBDataSet como um 2 em 1 : IBQuery + IBUpdateSQL.


Citação:
Como padrão uso nos programas os botões – Incluir, Alterar, Excluir, Abandonar e Confirmar, quais as instruções que devo programar em cada um destes botoes.

Isso vai depender de como vc pretende trabalhar... se vai usar data-awares ou não... pq vc pode passar instruções SQL diretamente para o banco de dados ou simplemente utilizar os métodos, velhos conhecidos nossos, como : .Insert, .Append, .Edit, .Delete, .Post, sobre um IBDataSet... o segredo desde componente é que, mesmo usando estes métodos convencionais, ele irá enviar ao banco uma instrução SQL, fazendo o trabalho para vc...

Veja este tópico do colega afarias :
[url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=30575]Exemplo básico com IBX![/url]

E também as apostilas presentes no site da ClubeDelphi :
http://www.clubedelphi.net/apostilas/ApostilaIB.zip
http://www.clubedelphi.net/apostilas/ApostiladeFirebird.pdf

Meu único conselho é que vc não utilize o IB 6, não que seja ruim, de forma alguma, mas é que esta versão está estagnada, sem evolução.
A não ser que pretenda seguir pela linha do IB comercial (6.5 e 7.x)... sugiro que utilize o Firebird e se quiser ser mais cautelozo utilize a versão 1.0.3, já que é exatamente identica ao IB 6, com algumas novas funcionalidades incluídas e todos os Bugs corrigidos. É uma versão 100¬ estável e confiável e também 100¬ compatível com os componentes de acesso ao IB (IBX, no seu caso).

Espero ter ajudado...
Boa Sorte !