Curso de ADO.NET e BDP - Final
Acesso a dados no Delphi 8 for .NET
Final – Usando Stored Procedures
Nesta última parte do curso de BDP, veremos como usar Stored Procedures com o Delphi 2005 e ADO.NET.
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.
Criando uma Stored Procedure
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):
create procedure TOTAL_VENDAS_EMPREGADO (
EMP_NO smallint)
returns (TOTAL numeric(15,2))
as begin
select sum(TOTAL_VALUE) from SALES
where SALES_REP = :EMP_NO into :TOTAL;
end
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.
Acessando a Stored Procedure
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.
Executando a Stored Procedure
Coloque um Button, TextBox e uma Label no formulário:
No evento Click do botão digite:
procedure TWinForm.Button1_Click(sender: System.Object; e: System.EventArgs);
begin
BdpConnection1.Open();
try
BdpCommand1.Parameters[0].Value := TextBox1.Text;
BdpCommand1.ExecuteNonQuery();
Label1.Text := Convert.ToString(BdpCommand1.Parameters[1].Value);
finally
BdpConnection1.Close();
end;
end;
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:
Conclusões
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!
Download
Você pode fazer download de todos os exemplos deste curso a partir do endereço http://cc.borland.com/cc/ccweb.exe/author?authorid=222668
Leia todos artigos da série
- Curso de ADO.NET e BDP - Parte I
- Curso de ADO.NET e BDP - Parte II
- Curso de ADO.NET e BDP - Parte III
- Curso de ADO.NET e BDP - Parte IV
- Curso de ADO.NET e BDP - Parte V
- Curso de ADO.NET e BDP - Parte VI
- Curso de ADO.NET e BDP - Parte VII
- Curso de ADO.NET e BDP - Parte VIII
- Curso de ADO.NET e BDP - Parte IX
- Curso de ADO.NET e BDP - Parte X
- Curso de ADO.NET e BDP - Parte XI
- Curso de ADO.NET e BDP - Parte XII
- Curso de ADO.NET e BDP - Parte XIII
- Curso de ADO.NET e BDP - Parte XIV
- Curso de ADO.NET e BDP - Parte XV
- Curso de ADO.NET e BDP - Parte XVI
- Curso de ADO.NET e BDP - Parte XVII
- Curso de ADO.NET e BDP - Parte XVIII
- Curso de ADO.NET e BDP - Parte XIX