VB.NET - Usando Procedimentos Armazenados no MsAccess - II


Neste artigo vamos criar o projeto no VS.NET para usar a classe AcessoBD que utiliza os procedimentos armazenados criados. Para acompanhar o artigo leia os artigos :

  1. VB.NET - Criando Procedimentos Armazenados no MsAccess
  2. VB.NET - Usando Procedimentos Armazenados no MsAccess I

Vou criar um projeto do tipo Windows Application usando formulários MDI  onde o formulário frmPrincipal será o container , o formulário Pai.

Para criar um formulário pai basta configurar a propriedade IsMdiContainer como True. Isto faz com que um novo controle MdiClient seja incluído no formulário e será o container dos formulários filhos.

Para saber mais sobre formulários MDI leia o artigo : VB.NET - Programas com a interface MDI

Como o formulário terá um  menu de opções iremos usar o controle MainMenu que deverá ser incluído na aplicação.

Para saber mais sobre Menus no VB.NET leia os artigos :

A estrutura da interface da aplicação será a seguinte :

  1. O formulário principal com o menu de opções , onde cada opção usa um dos métodos da classe AcessoBD , que por sua vez usa um dos procedimentos armazenados criados. Abaixo a figura do formulário - frmPrincipal.vb

O código deste formulário , mostrado abaixo, apenas cria uma instância para cada formulário a ser exibido como filho do formulário pai - frmPrincipal.

     Private Sub MenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem2.Click
        Dim frmchild As New listaProdutos
        frmchild.MdiParent = Me
        frmchild.Show()
    End Sub
    Private Sub MenuItem9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem9.Click
        Me.LayoutMdi(MdiLayout.TileHorizontal)
    End Sub
    Private Sub MenuItem10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem10.Click
        Me.LayoutMdi(MdiLayout.TileVertical)
    End Sub
    Private Sub MenuItem11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem11.Click
        Me.LayoutMdi(MdiLayout.Cascade)
    End Sub
    Private Sub MenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem3.Click
        Dim frmchild As New incluirProdutos
        frmchild.MdiParent = Me
        frmchild.Show()
    End Sub
    Private Sub MenuItem4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem4.Click
        Dim frmchild As New atualizarProdutos
        frmchild.MdiParent = Me
        frmchild.Show()
    End Sub
    Private Sub MenuItem5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem5.Click
        Dim frmchild As New excluirProdutos
        frmchild.MdiParent = Me
        frmchild.Show()
    End Sub

2- O formulário para incluir produtos na tabela que usa o método incluirProdutos da classe AcessoBD.

O código do botão de comando Incluir Novo Produto é o seguinte:

Dim ProdDB As New AcessoBD

ProdDB.incluirProdutos(txtNomeProduto.Text, txtcodFornecedor.Text, txtcodCategoria.Text, txtQuantidade.Text, txtPreco.Text, txtEstoque.Text, txtPedido.Text, txtMinimo.Text)

Nele criamos uma instância da classe AcessoBD e invocamos o método passando como parâmetros os dados informados no formulário.

3- O formulário para atualizar pedidos abaixo usa o método atualizaProdutos e passa o código do produto e o nome do produto como parâmetros.

O código do botão de comando Atualizar Produto é o seguinte:

Dim ProdDB As New AcessoBD

ProdDB.atualizarProdutos(txtProductID.Text, txtProductName.Text)

4- O formulário excluir produto usa o método deletarProdutos da classe AcessoBD passando o código do produto como parâmetro.

O código do botão de comando Excluir Produto é o seguinte:

 

Dim ProdDB As New AcessoBD

ProdDB.deletarProdutos(txtProductID.Text)

5 - O formulário que exibe a relação de produtos usa um datagrid para listar todos os produtos da tabela.

O código do evento Load do formulário é o seguinte:

Dim ProdDB As New AcessoBD

DataGrid1.DataSource = ProdDB.listarProdutos.Tables(0).DefaultView

Abaixo temos uma visão da execução do projeto onde temos a listagem e a atualização de um produto:

O código esta o mais simples possível e precisa de muitos ajustes para se tornar mais robusto.

A intenção foi apenas mostrar como usar os métodos da classe que usam os procedimentos armazenados em uma aplicação real.

Pegue o projeto completo aqui : spAcessoBD.zip

Bom proveito...


José Carlos Macoratti