VB.NET 2005 - Criando uma aplicação completa via código I


Em meu artigo VB.NET  2005  - Usando múltiplas tabelas com DataGridView mostrei como você pode usar os novos recursos do VB 2005 para acessar dados sem ter que digitar praticamente nenhuma linha de código e apenas os assistentes presentes na ferramenta. Embora seja uma alternativa viável pois o resultado final apresenta um desempenho razoável se comparado com as versões anteriores, podemos melhorar muito o desempenho se deixarmos os assistentes de lado e tomarmos as rédeas a fim de implementar as funcionalidades via código.

Este artigo se propõe a mostrar como você pode criar uma pequena aplicação com acesso a dados sem usar os assistentes do VB 2005 de forma a obter um código mais otimizado e um melhor desempenho final para sua aplicação.

Para acompanhar este artigo você vai precisar das seguintes ferramentas: (visite o sítio http://msdn.microsoft.com/vstudio/express/)

  1. Visual Basic 2005 Express Edition
  2. SQL Server 2005 Express
  3. SQL Server Management Studio Express

Para atingirmos nosso objetivo haverá um esforço de planejar exatamente o que iremos fazer pois não iremos usar nenhum assistente. O objetivo será acessar e permitir a manutenção dos dados (as operações CRUD- Create-Read-Update-Delete) da tabela Alunos de um banco de dados Escola.mdf criado no SQL Server 2005 Express. As funcionalidades que iremos implementar são:

Para efetuar as operações de incluir, alterar,  excluir e obter dados na tabela Alunos iremos utilizar procedimentos armazenados (Stored Procedures). Como você já deve saber uma Store Procedure é um programa Transact-SQL que é armazenado no banco de dados e é constituída por comandos SQL , variáveis e comandos de fluxo lógico. A estratégia de usar stored procedures tem o objetivo de facilitar a manutenção e ganhar desempenho visto que elas são compiladas em sua primeira utilização e como seu plano de execução fica na memória os processo acessos serão mais rápidos.

Teremos então que realizar as seguintes tarefas:

Para criar o banco de dados, a tabela e sua estrutura irei usar o SQL Server Management Studio Express (SSMS). Veja como obter, instalar e usar o SSMS em meuartigo: .NET  - Usando o SQL Server Management Studio

Após abrir o SSMS e efetuar a conexão com o seu Servidor SQL Server 2005 clique com o botão direito do mouse sobre o objeto DataBase e selecione a opção New DataBase... e na janela New DataBase informe o nome do banco de dados Clientes e clique no botão Add.

Com o banco de dados Escola.mdf criado expanda os objetos deste banco de dados e selecione o objeto Table e clicando com o botão direito do mouse. Será aberta a interface para definir os nomes das colunas, os tipos de dados e indicar se o campo permite null ou não.

A tabela Alunos irá possuir os seguintes campos : AlunoID, ALunoNome, ALunoEndereco e AlunoEmail . Esta estrutura simplificada visa tornar o artigo mais compreensível e fácil para os iniciantes e para os iniciados.  Veja abaixo o tipo de dados e o tamanho correspondente bem como a a definição de chave primária para o campo AlunoID e sua definição como um campo do tipo Identity o que faz com que ele seja incrementado de forma automática pelo SGBD.

O próximo passo será criar as stored procedures no banco de dados mas antes precisamos definir cada uma delas de acordo com a funcionalidade que iremos implementar. Após definirmos cada uma das stored procedures para criar cada uma delas basta expandir o nó para o item Programmability e clicar com o botão direito do mouse sobre o item Stored Procedures e selecionar a opção New Stored Procedure

1- Procedimento armazenado para Incluir um novo Aluno :

CREATE PROCEDURE procInsertAluno
@AlunoId int OUTPUT,
@Nome varchar(50),
@Endereco varchar(50),
@Email varchar(50)
as
INSERT INTO alunos
(AlunoNome,AlunoEndereco,AlunoEmail)
VALUES
(@Nome,@Endereco,@Email)
set @AlunoId = @@Identity
A estrutura da Stored Procedure(SP) é a seguinte :

1- Cria a SP chamada procInsertAluno usando o comando CREATE PROCEDURE

2- Cria o parâmetro de saída (OUTPUT) AlunoId

3- Cria os parâmetros de entrada: Nome, Endereco e Email

4- Define a instrução SQL que será executada. No caso a inclusão de dados na tabela Alunos via INSERT INTO.

Lembrando que :

- Um parâmetro deve ter um nome único e iniciar com o símbolo @ (arroba) e ter a definição do seu tipo de dado (data type).

- Os parâmetro de entrada (INPUT) recebem dados do programa que chamou a stored procedure

- Acrescentando a palavra OUTPUT na definição do parâmetro a rotina pode retornar o valor atual do parâmetro para o programa que chamou a SP. (No nosso exemplo estará sendo retornado o código do cliente que foi gerado automaticamente)

Incluindo a seguir o código no SSMS e clicando no botão Execute iremos obter a mensagem : Command(s) Completed successfully indicando que a SP foi criada com sucesso.

Para verificar clique com o botão direito do mouse sobre o objeto Stored Procedure e selecione Refresh. A SP recém-criada deverá ser exibida e podemos ver também os parâmetros usados conforme figura abaixo:

O procedimento para cria as demais stored procedures é similar ao mostrado acima portanto a seguir irei apenas definir a estrutura de cada uma; para criá-las basta repetir o procedimento anterior.

2- Procedimento armazenado para alterar dados de um Aluno : Usa a instrução SQL UPDATE/SET

CREATE PROCEDURE procUpdateAluno
@AlunoId int,
@Nome varchar(50),
@Endereco varchar(50),
@Email varchar(50)
as
UPDATE Alunos
SET
alunoNome = @Nome,
alunoEndereco = @Endereco,
alunoEmail = @Email
where alunoID = @AlunoId

3- Procedimento armazenado para excluir dados de um Aluno : Usa a instrução SQL DELETE FROM

CREATE PROCEDURE procDeleteAluno
@AlunoId int
as
DELETE FROM Alunos
where alunoID = @AlunoId

4- Procedimento obter dados de um Aluno : Usa a instrução SQL SELECT

CREATE PROCEDURE procGetAluno
@AlunoId int
as
SELECT alunoID,AlunoNome,AlunoEndereco,AlunoEmail
from Alunos
where alunoID = @AlunoId

5- Procedimento obter dados de TODOS os Alunos : Usa a instrução SQL SELECT

CREATE PROCEDURE procGetTodosAlunos
as
SELECT alunoID,alunoNome,alunoEndereco,alunoEmail
from alunos

Ao final do processo você deverá obter as cinco stored procedures no SSMS conforme a figura abaixo:

Na continuação deste artigo estarei mostrando como as regras de negócio e a criar a interface da aplicação que irá interagir com o usuário e permitir usar as funcionalidades implementadas.

Aguarde a continuação deste artigo em :  VB.NET 2005 - Criando uma aplicação completa via código II

Até o próximo artigo .NET 


José Carlos Macoratti