Nesse artigo será apresentado um conceito basico de Stored Procedures e um exemplo de aplicação de como utilizar a Stored Procedures na liguaguem VB.net e utilizando o Mysql 5.

A partir da versao 5 do mysql pode-se trabalhar com Stored procedures. Stored Procedures(procedimentos armazenados) é um conjunto de instruções SQL que são armazenadas no servidor. O uso de stored procedures deve-se as seguintes necessidades:

  • Utilizar para operações repetitivas;
  • Aplicacoes clientes de diferentes linguagens (php,delphi, vb, etc);
  • Seguranca;
  • Maior controle do DBA sobre as rotinas no banco de dados;
  • Diminuicao do trafego de informações entre servidor e aplicação cliente.

Sintaxe: create procedure nome_procedure (parametros)

comandos SQL

Exemplo de aplicação: Antes mostrar a aplicação vb.net, é preciso  criar a tabela, inserir dados nessa tabela e criar uma stored procedure no banco de dados.

Criando tabela setor:

create table setor (

id_setor int not null primary key auto_increment,

setor varchar(20) not null) 

Inserindo alguns valores :

Insert Into setor(setor) values(padaria)

Insert Into setor(setor) values (lanchonete)

A tabela terá os seguintes dados:

1 - padaria

2 - lanchonete

 Utilizando a ferramenta Query Browser , cria-se a seguinte procedure que irá listar o setor de acordo com o id_setor informado(variavel auxiliar AUXSET):

create procedure sel_setor(in auxset int)
select * from setor where id_setor= auxset

Para chamar a procedure dentro do query browser basta utilizar a função CALL nome_procedure(parametro)

ex: CALL sel_setor(1)  // será retornado os campos id_setor =1 e setor= padaria

Utilizando a procedure criada numa aplicacao VB.net

Entrar no visua studio e criar um novo projeto com um formulario, um botao, duas labels e dois textbox, conforme figura abaixo

artigo.jpg

No evento click do botão terá o seguinte código:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim conexao As MySqlConnection variavel com string de conexao no banco

Dim dr As MySqlDataReader data reader

Dim cmdsql As MySqlCommand comando mysql

Dim parametro As New MySqlParameter parametro da stored procedure

conexao = New MySqlConnection("server=localhost;user id=root;password=1234;database=testes")

parametro.ParameterName = "auxset" nome do parametro

parametro.Value = TextBox1.Text valor do parametro digitado pelo usuario

cmdsql = New MySqlCommand("sel_setor", conexao)

cmdsql.CommandType = CommandType.StoredProcedure tipo de comando = stored procedure

cmdsql.Parameters.Add(parametro) adicionando parametro

conexao.Open() abrindo conexao

dr = cmdsql.ExecuteReader

Do While dr.Read

TextBox2.Text = dr("setor") mostrando resultado no textbox

Loop

conexao.Close() fechando conexao

End Sub

 

No codigo acima quando for acionado o  botao, vai conectar no banco de dados(obs: os parametros estao de acordo com minha configuração mysql local),criará o comando cmdsql que contem o nome da procedure a ser chamada com o parametro auxset, após executado retorna-rá o resultado para um textbox (textbox2.text).Pronto! agora sua aplicação ja pode usar esse recurso fantastico chamado de stored procedure, que poderá ajudar e muito em diversas situações, até o proximo artigo,

Abraços