Fórum Deem suas opiniões sobre componentes DBExpress #300364
22/10/2005
0
Os componentes devem ficar em DataModules ou juntos a Tela? Qual a diferença entre um e outro se é que ela existe.
Foxcyber
Curtir tópico
+ 0Posts
22/10/2005
Cesarpir
Eu uso os componentes tudo em datamodule, mas nada impede que seja usado nos forms, tenho por costume o datamodule pois fica mais organizado e a tela do form fica livre, olha tô dizendo isto com o firebird e mysql pois já ouvi comentários de amigos que determinados bancos, acho que o sql server não aceita ou não é aconselhável o uso de datamodule, mas não posso afirmar pois nunca usei o sql server em win32, portanto isto é só um comentário que ouvi dizer.
Eu uso os seguintes componentes no datamodule:
SqlQuery
Datasetprovider
ClientDataset
Datasource
Dificilmente uso o sqldataset pois li que se for trocar de banco de dados seria mais fácil com o sqlQuery.
Finalizando gostei muito de usar o dbexpress, é lógico que no começo ele se torna trabalhoso, pois o número de componentes aumentou, mas as vantagens também, pois quando usava o bde tive muito mais problemas.
Pena que a delphi está tomando um outro rumo, digo isto ref ao delphi 2005, usei e a parte do .net não gostei, mas como dizem é a evolução, o .net para alguns é o futuro, enfim fica só este comentário.
Espero que ajude, e que venha mais opiniões, tb me interesso pelo assunto.
Abraços
César
Gostei + 0
27/10/2005
Jcalmeij
com componentes conscientes, com comandos criados ´no braço´ porém agora estamos buscando soluções de mais alto nível, por exemplo com o dbExpress.
Meu problema no entanto, utilizo a tríade: SQLQuery + Provider + ClientDataSet, conectando ao Oracle.
Meu problema é na hora da atualização.
Qdo envio o ApplyUpdates(-1);
Não retorna erro e também grava nada que foi feito no Client.
Sugestões???
Agradeço
Julio Jr.
Gostei + 0
27/10/2005
Rômulo Barros
Solução para esta situação: [url=http://forum.clubedelphi.net/viewtopic.php?t=69213]CLICK AQUI[/url]
Gostei + 0
27/10/2005
Cledesma99
Gostei + 0
28/10/2005
Raserafim
não consigo me imaginar programando sem o DataModule. utilizo um para cada consulta que preciso fazer, colocando dentro os componentes para acesso (uma Query, uma Transaction e um DataSource. e as vezes um DataSetProvider e um ClientDataSet). e sempre os componentes com o mesmo nome em todos os DataModules.
crio um DataModule padrão e herdo todos os outros dele.
Gostei + 0
28/10/2005
Michael
A diferença está na qualidade do programador. Quem coloca componentes de acesso a dados em formulários, e consequentemente mescla interface do usuário com regras de negócio, não pode ser chamado de programador Delphi. Estou sendo radical pois isso é um péssimo hábito que infelizmente é muito praticado. Este é um dos ´problemas´ do Delphi que dá margem para o questionamento de sua qualidade como ferramenta de desenvolvimento, não por seus próprios usuários, mas sim programadores de outras linguagens, principalmente Java, como se pode ver [url=http://forum.devmedia.com.br/viewtopic.php?t=62855&highlight=]neste tópico[/url].
Ah, não é nada pessoal colega, ok? ;-) Digo de uma maneira geral.
Desconheço esta informação. Um DataModule é um form especial. Em nada influencia os componentes que estão nele. Vc pode colocar qualquer componente não-visual em um DataModule, sem nenhuma diferença em relação a um form. Diferença técnica, que fique claro. Em termos de organização e boas maneiras, vale o que eu disse anteriormente. E, como tbm já dito, é altamente aconselhável seu uso, quase que obrigatório.
Para acessar o SQL Server, a tecnologia mais indicada é o ADO, da própria Microsoft. Tanto em termos de recursos qto em desempenho, que se mostra superior ao dbExpress. O problema é qdo o sistema é multi-banco, onde fica mais complicado ter dois tipos diferentes de componentes de acesso. Neste caso a saída menos dolorosa é usar o DBX mesmo.
Perfeitamente correto. Regras de negócio são uma coisa e interface com o usuário outra. Por isso que eu gosto de multi-camadas. Este problema quase não existe.
Uma dica, aproveitando a deixa do colega. ;-)
Isso depende do nível de granularidade que a relação entre as informações possui. Em geral, vc pode não precisa ter um DataModule para cada Query, mas pode agrupar as que tem algum tipo de vínculo. O importante é ter um DataModule separado para os componentes de conexão (SQLConnection, ADOConnection, etc).
[]´s
Gostei + 0
28/10/2005
Foxcyber
Gostei + 0
28/10/2005
Michaell
[]´s
Gostei + 0
29/10/2005
Danielclubedelphi
O fato de colocar componentes de acesso no modulo nao separa em nada o designer da camada de negócio. Só está em outro lugar... Alias, quanto o modulo ficar com 200 componentes simplesmente estará um desastre achar algo. Vcs acham que ´separou´ dando linhas de comando no formulario fazendo referencia aos componentes no modulo? dando comandos de SQL no formulario?
Separar a aplicação do modo que vcs estao falando exige trabalhar com objeto e persistencia dos mesmos no banco... abstração de dados... cada camada do objeto bem trabalhada. Mas isso é pra Java... no Delphi não compensa tanto esforço.
Já que provavelmente vcs nao trabalhem com objetos no delphi, coloquem no Formulario mesmo... a diferença é visual mesmo... Só coloca no modulo o que vc vai querer q fique disponivel no sistema todo o tempo todo...
Fazia anos que nao lia nem mandava mensagens para esse fórum justamente pq algumas pessoas davam umas opiniões imprestáveis e vc nao sabia mais se acreditava em tudo ou em nada... ou seja... sem crédito algum.
Agora vou passar mais alguns anos sem mandar e volto quando ler besteira. E nem adianta responder algo pra mim pq nao leio. Boa noite.
Gostei + 0
29/10/2005
Cesarpir
Boa sorte !
César
Gostei + 0
29/10/2005
Michael
É claro, suas mensagens são uns dos vários exemplos de opiniões imprestáveis deste fórum.
E eu sei que vc vai ler isso.
[]´s
Gostei + 0
29/10/2005
Danielclubedelphi
Amigo... vc vai ser pobre pro resto da vida programando no delphi... Alias, como vc cobra seus clientes? Vc tem algum cliente?
Sobre cobrar pelos dados... Nao é pelos dados Santo Cristo... É nao liberar a senha do banco pq la está metade do que programei. Se ele quer a porcaria dos clientes dele eu faço um relatório, exporto no excel, em txt, qualquer porcaria... Mas as funções são minhas... A organização das tabelas são minhas... Vc nao faz store procedures ??? Triggers ??? Views ??? E vendemos todo o código do banco para os clientes quando trocamos de linguagem e banco de dados. Todo mundo trocou de carro ou reformou a casa... os clientes contrataram pessoas para manter o sistema antigo... cobramos até hoje a assistência quando pedem... Nós mesmos escolhemos o pessoal que iam contratar... Todos ficaram felizes menos alguns idealistas que participaram daquele fórum... Todos os clientes que compraram estão felizes e os que nao compraram eu nao sei o que aconteceu... Eu exportei TODOS os dados que eles pediram em TXT. DE GRAÇA!!!
Mas não é difícil vc ter clientes trabalhando com Delphi... O Cliente só precisa NAO saber nada da área... Mas ai vc fica na situação de cobrar pouquinho demais pq ele pode simplesmente comprar um sistema de um menino de 15 anos que organizou tudo usando um modulo. Mas quando a empresa crescer e vc nao estiver mais dando conta, vai aparecer um tubarão e te roubar o cliente cobrando 10 vezes mais programando numa linguagem que vc mal sabe pronunciar o nome.
Nós não vendemos sistemas para quem nao tem um... Apenas substituimos o sistema dos clientes que tinham um sistema antigo. Como a maioria que programa em Delphi faz com os sistemas feitos em foxpro, clipper, etc... Nós substituimos Delphis e VBs...
Hum... agora nao vou mais ler esse fórum mesmo... eu nao uso mais Delphi... Lógico que não é pq ele só serve pra farmárcia e lojinha... Mas é pq programar classicamente com objetos é mais caro do que com java. E como todo mundo pode ver, prefiro dinheiro do que ideais de programação... Se eu ganho mais dinheiro é bom, se eu nao ganho é ruim. Simples.
Por favor nao me respondam nada pq eu nao resisto e fico perdendo meu tempo respondendo. Alguem faça o favor de bloquear meu login ou algo do tipo... Eu vou tentar apagar meu cadastro do site...
Gostei + 0
30/10/2005
Vinicius2k
Topico bloqueado.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)