ADO.NET - Carregando um ListBox com dados do SQL Server
Neste artigo vou mostrar rapidamente como você pode carregar dados de uma tabela de um banco de dados SQL Server para um controle ListBox de acordo com uma seleção onde o usuário informa o parâmetro para filtrar os dados.
Neste projeto eu vou acessar o banco de dados Teste presente no meu SQL Server (local) e selecionar registros da tabela Clientes.
O usuário deve informar o código do cliente em uma caixa de texto e os dados com o nome da empresa para os clientes cujos códigos contenham o parâmetro informado serão exibidos em um controle ListBox.
A primeira coisa a fazer e usar o namespace - Imports System.Data.SqlClient pois vou acessar o SQL Server
1- Inicie o Microsoft Visual Studio .Net 7.0 e abra um novo projeto selecionando - New Project.
2- Na janela New Project Selecione em Project Type : Visual Basic Projects e em Templates: Windows Application . Vamos dar o nome ao nosso projeto de MostraDados. No final clique em OK.
No formulário padrão insira os controles : label , TextBox , button e listbox conforme o layout abaixo:
Vamos criar uma rotina para montar a string de conexão ; a rotina criaStringConexao tem o seguinte código:
|
Agora basta você inserir o código que irá carregar os dados no ListBox de acordo com argumento informado pelo usuário:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCarregaDados.Click
Dim ocmdCliente As OleDb.OleDbCommand Dim odrCliente As OleDb.OleDbDataReader Dim strSQL As String '-- Cria a string SQL para selecionar os dados da tabela Clientes do banco de dados Teste strSQL = "Select NomeDaEmpresa From Clientes Where CódigoDoCliente Like '" & Me.txtNomeCliente.Text & "%'"
'-- tratamento de erros Try'-- Cria uma instância do comando ocmdCliente = New OleDb.OleDbCommand()
With ocmdCliente '-- Define a conexao de um comando e o texto do comando .Connection = New OleDb.OleDbConnection(CriaStringConexao("(local)", "Teste")).Connection.Open() .CommandText = strSQL '-- define uma instancia de um data reader odrCliente = .ExecuteReader(CommandBehavior.SequentialAccess) End With '-- inclui os itens no listbox With lstDados .Items.Clear() .BeginUpdate() ' Do While odrCliente.Read .Items.Add(odrCliente.Item("NomeDaEmpresa")) Loop .EndUpdate() End With Catch oexData As OleDb.OleDbException MsgBox(oexData.Message) End Try End Sub |
O comando SQL usado é o seguinte:
strSQL = "Select NomeDaEmpresa From Clientes Where CódigoDoCliente Like '" & Me.txtNomeCliente.Text & "%'"
Nele eu estou usando a palavra LIKE para selecionar os dados. Como o código do cliente é do tipo String estou envolvendo o argumento entre aspas simples ('). Assim se o cliente informar a letra A teremos:
Select NomeDaEmpresa From Clientes Where CódigoDoCliente Like 'A%'
O resultado exibido deverá ser parecido com:
Até a próxima dica VB.NET...
Veja os
Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique
e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ? |
Gostou ? Compartilhe no Facebook Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Visual Studio - Dica de produtividade - Quick Launch - Macoratti.net
Visual Studio - Dica de produtividade - Nuget - Macoratti.net