sql no fonte, ou na query?

Delphi

08/07/2005

Opinioes:
Pessoal vocês colocam o SQL dentro da query , ou no fonte do sistema ?

No fonte vocês acham que fica ´SUJO´ o programa ?
em query é meio complicado porque precisa criar uma para cada caso (Selecionar,Update,Excluir) certo ?

postem suas opiniões...
Obrigado


Lynx

Lynx

Curtidas 0

Respostas

Tnaires

Tnaires

08/07/2005

Olá
Não sou nenhuma autoridade :oops: , mas vamos lá:
Ao meu ver, dois fatores influenciam no fato de vc colocar consultas SQL fora do código-fonte do programa:
- organização;
- separação de tarefas (uma equipe programa, outra é responsável pelo banco de dados, etc).
Quanto ao segundo fator, normalmente quem programa em Delphi entende tb de SQL. Então, ele perde a influência na maioria dos casos. Enfim, mais importante do q tudo isso é a funcionalidade. A equipe decide o q é melhor para si e para a eficiência do sistema. Se vc, ao colocar código SQL no fonte, ganha em funcionalidade (no seu caso, aproveitar a mesma Query para várias consultas), então acho q vale a pena trabalhar dessa maneira.
Abraços


GOSTEI 0
Lynx

Lynx

08/07/2005

Com certeza concordo com o seu ponto de vista.
Eu sei que na query da muito trabalho porque precisa criar muitas, query.


Mas a agilidade para trabalhar em equipe, tem uma maior chance de evitar erros, em atualização do programa utilizando em query, porque separa bem cada um de sua função.

Mas, o trabalho é 3 vezes maior desse modo.

Muito Obrigado, e aguardo mais opiniões. :lol:


GOSTEI 0
Rjun

Rjun

08/07/2005

Pra mim, enfiar o SQL no meio do código pode até ser mais prático mas é um trabalho bem porco. Mas isso é do estilo de cada um.

Colocar o código no TQuery deixa o projeto mais limpo e facilita e muito a manutenção. Isso sem falar no uso de stored procedures que ajuda mais ainda.


GOSTEI 0
Beppe

Beppe

08/07/2005

Oi!

Tbm acho que colocar a SQL em design-time(no .dfm) fica mais organizado.

OFF-TOPIC: A versão 3.0 do C3(Ômega) incluirá a sintaxe SQL na especificação da linguagem, que poderá ser embutida sem uso de qualquer componente de query. è perdido um pouco de controle, mas acho que permite fazer certas queries(aquelas só abrir e fechar) sem muita chateação.


GOSTEI 0
Ericksasse

Ericksasse

08/07/2005

Eu não sigo uma regra rigida sobre isso. Normalmente coloco o SQL no código quando ele é modificado ou atribuido aos componentes em run-time.

Mas ainda acho que o máximo que você puder fazer via código ´na mão´, é mais confiável do que o que se faz visualmente, como ligar componentes, setar propriedades, etc.


GOSTEI 0
Orpolonio

Orpolonio

08/07/2005

Bom, ninguem citou colocar a expressão sql em uma tabela do Banco de dados, nem recompilar precisa se tiver alteração.
Pensem nisso!!


GOSTEI 0
Ericksasse

Ericksasse

08/07/2005

Não acho uma boa idéia, recompilar é mais fácil na minha opinião, principalmente quando você processos de builds automatizados.

É por esse motivo também que coloco o mínimo possível de lógica no banco, pois é muito mais fácil atualizar o aplicativo nos clientes, do que a estrutura do banco deles.


GOSTEI 0
Ivanh

Ivanh

08/07/2005

Eu costumo colocar o código SQL, em um TMemo invisivel.
Qdo vou usar a query faço isso:

  SQLQuery1.SQL.Assign(Memo1.Lines);



GOSTEI 0
Beppe

Beppe

08/07/2005

É por esse motivo também que coloco o mínimo possível de lógica no banco, pois é muito mais fácil atualizar o aplicativo nos clientes, do que a estrutura do banco deles.

Com um launcher, até concordo, no ´manual´, é mais fácil alterar uma tabela(pelo que entendi, seria só um registro em uma tabela) no servidor do que dezenas ou centenas de clientes.


GOSTEI 0
Ericksasse

Ericksasse

08/07/2005

Com um launcher, até concordo, no ´manual´, é mais fácil alterar uma tabela(pelo que entendi, seria só um registro em uma tabela) no servidor do que dezenas ou centenas de clientes.


Ah sim, eu uso launcher.


GOSTEI 0
POSTAR