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/)
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