Componentes no DataModule P/ Interbase 6
23/09/2004
0
:?: 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
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
Neto
Curtir tópico
+ 0
Responder
Posts
23/09/2004
Vinicius2k
Colega,
De uma forma bem genérica pode-se dizer que :
[b:e774578e52]IBDatabase[/b:e774578e52], Fixo.
[b:e774578e52]IBTransaction[/b:e774578e52], 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.
[b:e774578e52]IBDataSet -> DataSource[/b:e774578e52], para as operações de Insert, Update e Delete
[b:e774578e52]IBQuery -> DataSouce[/b:e774578e52], para consultas... apesar de nada impedir que utilize-se 100¬ IBDataSet, tanto para consultas como para manutenção.
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...
[b:e774578e52]IBTable[/b:e774578e52] : 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...
[b:e774578e52]IBUpdateSQL[/b:e774578e52] : 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.
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 !
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 :
[b:e774578e52]IBDatabase[/b:e774578e52], Fixo.
[b:e774578e52]IBTransaction[/b:e774578e52], 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.
[b:e774578e52]IBDataSet -> DataSource[/b:e774578e52], para as operações de Insert, Update e Delete
[b:e774578e52]IBQuery -> DataSouce[/b:e774578e52], para consultas... apesar de nada impedir que utilize-se 100¬ IBDataSet, tanto para consultas como para manutençã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...
Outra duvida e quando usar o componente IBTable e IBUpdateSQL???
[b:e774578e52]IBTable[/b:e774578e52] : 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...
[b:e774578e52]IBUpdateSQL[/b:e774578e52] : 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.
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 !
Responder
Clique aqui para fazer login e interagir na Comunidade :)