Nesta última parte do curso de BDP, veremos como usar Stored Procedures com o Delphi 2005 e ADO.NET.
Artigos Delphi Curso de ADO.NET e BDP - Final
Final – Usando Stored Procedures
O que são Stored Procedures
Normalmente, em uma estrutura client/server, o hardware do servidor sempre será o mais robusto, então podemos utilizar esse hardware para realizar o processamento mais pesado da aplicação, como inserção, atualização e exclusão dos dados através de Stored Procedures (SP) ou mesmo para realizar cálculos mais complexos.
Stored Procedures são basicamente comandos SQL que residem no servidor. A aplicação cliente se encarrega de passar os valores para seus parâmetros e executar o procedimento. O servidor pode então otimizar os planos de execução, garantindo que Stored Procedures sejam processadas de forma cada vez mais rápida. Ele faz isso preparando e pré-compilando procedimentos, pois somente os parâmetros (e não toda a instrução SQL) são passados do cliente para o servidor.
No código a seguir temos um exemplo de criação de uma SP que retorna em um parâmetro de OUTPUT o total de vendas (Sales) realizadas por determinado empregado, passado no parâmetro de INPUT (Emp_No):
Para testar esse exemplo, crie essa SP no banco de dados Employee.gdb que é distribuído juntamente com o Interbase. Você pode usar o IBConsole para executar o comando.
No Delphi 2005, inicie uma nova aplicação do tipo Windows Forms Application – Delphi for .NET. Arraste a conexão Employee a partir do DataExplorer, para criar um BdpConnection automaticamente.
Coloque um componente BdpCommand, aponte sua propriedade Connection para o BdpConnection1 e CommandType para StoredProcedure. Observe que a propriedade CommandText se ajusta agora para receber o nome da StoredProcedure a ser executada. Escolha TOTAL_VENDAS_EMPREGADO.
Observe que a propriedade Params já lista os dois parâmetros, de INPUT e OUTPUT.
Coloque um Button, TextBox e uma Label no formulário:
No código anterior, configuramos o parâmetro de entrada (INPUT) da SP, nesse caso o código do empregado (EMP_NO) a partir do valor digitado no TextBox. A seguir, usamos ExecuteNonQuery para processar a SP no servidor e obtemos o valor de retorno a partir do parâmetro de OUTPUT da SP. O valor é exibido na Label:
Espero que este curso de BDP e ADO.NET tenha ajudado você desenvolvedor a conhecer um pouco mais sobre essa importante e robusta tecnologia de acesso a dados no Delphi for .NET. Foram 20 partes, onde vimos em detalhes todos os recursos da tecnologia, incluindo arquitetura, conexão, acesso, manipulação de dados, uso de DataSets, DataBindings, ADO.NET com .NET Remoting e Web Services, novos componentes do Delphi 2005 e muito mais. Sinta-se a vontade para entrar em contato comigo pelo e-mail a seguir, para enviar críticas, dúvidas e sugestões. Desejo sucesso a todos nos projetos com o .NET Framework! Um abraço a todos e até a próxima!