Vanilson 2 Denunciar post Postado Setembro 27, 2012 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
quintelab 91 Denunciar post Postado Setembro 27, 2012 É possível e é muito comum, mas a questão é, tem necessidade? Por que não insere direto pelo c#? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Vanilson 2 Denunciar post Postado Setembro 28, 2012 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
Michael.Dev 0 Denunciar post Postado Setembro 28, 2012 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
KhaosDoctor 242 Denunciar post Postado Setembro 28, 2012 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
Vanilson 2 Denunciar post Postado Setembro 29, 2012 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
KhaosDoctor 242 Denunciar post Postado Outubro 1, 2012 Então, não tem nenhum problema, ele não faz laços. Não importa a quantidade de registros que você tenha. Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Outubro 3, 2012 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