VB .NET - Inicializando uma lista e exibindo registros do MySql
Neste artigo vou mostrar como inicializar uma lista com dados a partir de um banco de dados MySQL e exibir registros selecionados em um TextBox usando a linguagem VB .NET. |
O Data Binding é a maneira mais simples e
fácil de acessar dados mas ela não é muito flexível. Para te dar mais
controle sobre o que esta acontecendo usar os recursos da ADO .NET e dos
provedores de dados é um melhor caminho (talvez o melhor caminho seja usar
uma ferramenta ORM).
Então neste artigo vou mostrar como acessar o MySQL e inicializar uma lista que no exemplo será um controle ListBox. Com a lista populada basta selecionar um item da lista para exibir os detalhes do item atual em controles TextBox.
Vamos acessar o banco de dados Cadastro criado no MySQL e a tabela
Clientes que tem a seguinte estrutura: id, nome,
cpf e email
Recursos Usados :
Criando o projeto Windows Forms
Abra o VS 2017 Community e crie um novo projeto (File-> New Project) usando a linguagem Visual Basic e o template Windows Classic Desktop ->Windows Forms Application(.NET Framework)
Informe um nome a seu gosto. Eu vou usar o nome vbn_MySQLista
A seguir inclua no projeto uma referência à biblioteca MySql.Data via Nuget (Tools->Nuget Package Manager-> Manage Nuget Packages for Solution)
Vamos incluir uma referência ao System.Configuration no projeto pois vamos acessar a string de conexão que será armazenda no arquivo app.Config. (Project->Add Reference)
Para concluir inclua no arquivo App.config a string de conexão usada para acessar o banco de dados Cadastro do MySQL:
...
<connectionStrings>
<add name="conexaoMysql" connectionString="Server=localhost;Database=Cadastro;Uid=root;Pwd=******;" providerName="MySql.Data" />
</connectionStrings>
...
|
A partir da ToolBox inclua no formulário Form1.vb os seguintes controles:
Disponha os controles conforme mostra a imagem da figura abaixo:
Implementando o código no formulário
Vamos agora definir o código no formulário Form1.vb começando com a declaração dos namespaces:
Imports System.Configuration
Imports MySql.Data.MySqlClient
No início do formulário vamos obter a string de conexão e declarar as variáveis para acessar os dados:
Dim stringConexao As String =
ConfigurationManager.ConnectionStrings("ConexaoMySql").ConnectionString()
Dim conexaoMySql As MySqlConnection
Dim comandoMySQl As MySqlCommand
Dim leitorDataReader As MySqlDataReader
No evento Click do botão de comando Acessar Dados digite o código a seguir:
Private Sub btnAcessarDados_Click(sender As Object, e As EventArgs) Handles btnAcessarDados.Click
Dim consultaSql As String = "Select * from Clientes"
Try
conexaoMySql = New MySqlConnection(stringConexao)
comandoMySQl = New MySqlCommand(consultaSql, conexaoMySql)
conexaoMySql.Open()
leitorDataReader = comandoMySQl.ExecuteReader()
While (leitorDataReader.Read())
lbDados.Items.Add(leitorDataReader.Item("Nome"))
End While
Catch ex As Exception
MessageBox.Show("Erro :" + ex.Message)
Finally
leitorDataReader.Close()
conexaoMySql.Close()
End Try
End Sub
|
Este código vai acessar a tabela Clientes e exibir o campo nome no controle ListBox.
A seguir no evento SelectedIndexChanged do ListBox defina o código abaixo para exibir o registro do nome selecionado:
Private Sub lbDados_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lbDados.SelectedIndexChanged
If lbDados.SelectedIndex < 0 Then
Return
End If
Try
Dim nome As String = lbDados.SelectedItem.ToString().Replace("'", "''")
Dim consultaSql As String = "Select * from Clientes where nome = '" & nome & "'"
comandoMySQl = New MySqlCommand(consultaSql, conexaoMySql)
comandoMySQl.Connection = conexaoMySql
conexaoMySql.Open()
leitorDataReader = comandoMySQl.ExecuteReader()
leitorDataReader.Read()
txtID.Text = leitorDataReader("Id").ToString()
txtNome.Text = leitorDataReader("Nome").ToString()
txtCPF.Text = leitorDataReader("CPF").ToString()
txtEmail.Text = leitorDataReader("Email").ToString()
Catch ex As Exception
MessageBox.Show("Erro : " & ex.Message)
Finally
leitorDataReader.Close()
conexaoMySql.Close()
End Try
End Sub
|
Neste código obtemos o nome selecionado e obtemos o registro correspondente na tabela Clientes e a seguir exibimos os valores no TextBox.
Executando o projeto iremos obter o resultado abaixo :
Você pode ajustar o código incluindo muitas personalizações para atender o seu objetivo. (Que tal criar uma camada de acesso dados ?)
Fique a vontade...
Pegue o código do projeto aqui : Vbn_MySQLista.zip
"Se alguém quer vir após mim (Jesus), a si mesmo se negue, tome a sua cruz e siga-me" (Mateus 16:24).
Veja os
Destaques e novidades do SUPER DVD Visual Basic
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
|
Gostou ?
Compartilhe no Facebook
Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Acessando o MySql com Visual Studio 2015 e Entity ... - Macoratti