strar a utilização de stored procedures. Elas aumentam drasticamente a velocidade de soluções web, tanto na obtenção de dados do SQL Server quanto na atualização, inserção ou exclusão de registros. Isso acontece porque o servidor SQL pode otimizar planos de execução e pré-compilar essas instruções que residem no BD, e não mais na aplicação cliente, que apenas se encarrega de passar os parâmetros apropriados.

Neste artigo, construiremos algumas aplicações em ASP.NET que farão uso efetivo de stored procedures, de forma a comprovar o aumento de escalabilidade. De praxe, você aprenderá como a IDE do Visual Studio .NET pode nos ajudar nesse processo, criando automaticamente as procedures no SQL Server a partir de assistentes do SqlDataAdapter.

Criando a aplicação

Para este exemplo, vamos utilizar o banco de dados de demonstração chamado Northwind, que é distribuído com o SQL Server. Construiremos um pequeno formulário em ASP.NET que permitirá a inclusão de informações na tabela Products (produtos). Não vamos nos preocupar por enquanto com as demais operações (exclusão e alteração), que são semelhantes e podem ser feitas com base nos códigos utilizados para a inserção.

No Visual Studio .NET 2003, clique em File>New>Project e na seção Visual C# Projects escolha ASP.NET Web Application. Dê o nome de TesteSP para a aplicação, conforme mostra a Figura 1. A seguir, clique em OK para que o diretório virtual seja criado no IIS e os arquivos da solução sejam inicializados pela IDE.

 

image001.png

Figura 1. Criando a aplicação ASP.NET no Visual Studio .NET.

Configurando o formulário principal

No Web Form, a partir da Toolbox, vamos colocar alguns TextBoxes para a entrada de dados. Para facilitar, vamos utilizar somente os campos principais da tabela (ProductName, CategoryID e UnitPrice). Caso queira usar os demais, fique a vontade, basta colocar mais controles. Os nomes (propriedade ID) dos TextBoxes devem ficar como tbProductName, tbCategoryID e tbUnitPrice, respectivamente. Coloque alguns Labels e configure o Text para indicar o que deve ser preenchido. Um Button com o Text “Incluir Produto” será usado para incluir as informações no banco de dados. Utilize a Figura 2 como base para configurar seu formulário.

 

image003.png

Figura 2. Formulário principal da aplicação com TextBoxes.

Configurando a conexão

A partir de agora vamos começar a construir a conexão com o banco de dados. Seria interessante criar uma nova classe para abstrair a comunicação com o banco de dados, e utilizar interfaces (um princípio básico e poderoso da POO) para tornar esse processo transparente para a interface de usuário. Para facilitar, vamos configurar os objetos ADO.NET no próprio WebForm. Em uma oportunidade futura mostrarei como criar classes de negócio para abstrair a manipulação de dados.

O primeiro passo é colocar um SqlDataAdapter a partir da Toolbox. Será mostrado um assistente, que auxiliará na configuração das várias opções do componente. Clique em Next e na tela que aparece clique no botão New Connection. Preencha as informações de conexão conforme mostrado na Figura 3, informando o nome do servidor SQL, usuário/senha e banco de dados. Clique em Testar conexão para ver se tudo está funcionando corretamente. A seguir clique em OK e de volta ao assistente clique em Next.

 

image005.png

Figura 3. Configurando a conexão.

Escolhendo o tipo de consulta

A próxima tela é muito importante no processo de configuração do SqlDataAdapter. É nesse momento que devemos informar ao VS.NET como o componente acessará o banco de dados: usando comandos SQL padrão (select, update, delete e insert) ou através de stored procedures. Como ainda não criamos as procedures no banco de dados, vamos pedir que o VS.NET faça isso automaticamente para nós, marcando a opção Create new stored procedures (Figura 4). Caso queira utilizar existentes, marque a última opção. A seguir, clique em Next.

 

image007.png

Figura 4. Criando stored procedures a partir da própria IDE.

Configurando a consulta com o Query Builder

Na próxima tela, devemos configurar a consulta que será utilizada pelo SqlDataAdapter para obter os dados do SQL Server. Para auxiliar na criação da consulta, podemos usar a opção Query Builder, que abrirá um editor visual.

Na janela Add Table, dê um duplo clique em Products e a seguir clique em Close. Se fosse necessário utilizar mais tabelas (não é o caso aqui), bastaria dar um duplo clique sobre elas para que fossem adicionadas ao designer.

No Query Builder, marque os campos ProductID, ProductName, CategoryID, UnitPrice (os demais não serão usados neste exemplo). Observe que o comando select vai sendo gerado automaticamente pela IDE (Figura 5). Com base no select, a IDE vai gerar a seguir os códigos das procedures.

Nesse mesmo editor, podemos facilmente especificar o critério de seleção dos dados (where), ordenação (order by) e até mesmo realizar Joins entre tabelas, tudo visualmente. A IDE se encarrega de gerar o comando SQL automaticamente. Se existirem foreign keys entre colunas das tabelas adicionadas, o VS.NET é capaz de criar o Join automaticamente. Clique em Ok para confirmar e a seguir em Next.

 

image009.png

...
Quer ler esse conteúdo completo? Tenha acesso completo