Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Vanilson

Procedimentos do Sql Server 2008 e C#

Recommended Posts

Pessoal, eu estou com a seguinte duvida: É uma boa pratica usar os procedimentos que criamos no Sql Server 2008 no C#?

Do tipo fazemos um procedimento no Sql Server para inserir e depois chamamos esse procedimentos lá no código C#.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quintleab, eu acho que ajuda no desempenho do sistema e que evita problemas futuros como a demora a se fazer determinadas operações na base de dados.

Digamos que eu esteja a fazer uma actualização de dados na base de dados com cerca de 1000 registos e que eu queira actualizar o ultimo registo, primeiro lá na base de dados teria que ser feito um loop para percorrer esses 1000 registos (corrija-me se tiver errado) e só depois actualizar o registo. Se a query de actualização tiver lá no c# irá demora mais tempo do que se colocar-mos num procedimento e chamar esse procedimento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Vanilson.

 

Bom, em minha opinião, trabalhar com procedimentos armazenados é mais vantajoso. Discordo com o que o quintelab disse, pois, inserindo o SQL diretamente pelo C# torna sua aplicação um pouco que "suja" e lenta. Já trabalhando com procedimentos armazenados você tem um código mais limpo e uma aplicação mais rápida, pois todo o processamento que envolve o Banco de Dados fica por conta do Banco de Dados.

 

Vanilson, procure sobre aplicações em camadas, vai te ajudar muito.

 

Abraços,

Michael.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Quintleab, eu acho que ajuda no desempenho do sistema e que evita problemas futuros como a demora a se fazer determinadas operações na base de dados.<br style="color: rgb(46, 52, 54); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; background-color: rgb(250, 251, 252); ">Digamos que eu esteja a fazer uma actualização de dados na base de dados com cerca de 1000 registos e que eu queira actualizar o ultimo registo, primeiro lá na base de dados teria que ser feito um loop para percorrer esses 1000 registos (corrija-me se tiver errado) e só depois actualizar o registo. Se a query de actualização tiver lá no c# irá demora mais tempo do que se colocar-mos num procedimento e chamar esse procedimento.

 

Não precisa de um laço desse tipo, basta você usar o UPDATE TABLE. Ele vai setar o valor que você quiser diretamente no registro, sem nenhum laço. Eu particularmente prefiro chamar no C#, pois acredito que fica muito melhor do que ir no SQL toda vez, sem falar que todo o seu código fica em um só lugar.

 

Quanto ao problema de ficar sujo, a solução é criar uma classe com diversas funções de inserir, update e etc. Assim você chama a classe ou o módulo e chama as procedures específicas de cada query.

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Não precisa de um laço desse tipo, basta você usar o UPDATE TABLE. Ele vai setar o valor que você quiser diretamente no registro, sem nenhum laço. Eu particularmente prefiro chamar no C#, pois acredito que fica muito melhor do que ir no SQL toda vez, sem falar que todo o seu código fica em um só lugar.

 

Sim, o que eu acabei de descrever foi o funcionamento do comando update table dentro do banco de dados

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existem alguns motivos para se usar procedimento, mas para deixar o sistema "limpo" não é um deles. Basta você utilizar as camadas da maneira certa, e nem é realmente necessário você escrever insert, update e etc... pode usar algum framework de persistência.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.