WPF - DataBinding Básico com Microsoft Access


Se você tem interesse criar aplicações WPF pode consultar a seção WPF do site, lá você encontra diversos artigos sobre o assunto.

Este artigo vai ser essencialmente prático e vai mostrar como criar uma aplicação WPF usando o recurso DataBinding com o Microsoft Access.

Vamos lá...

Abra o Visual Basic 2010 Express Edition e no menu File selecione New Project;

A seguir selecione o template WPF Application e informe o nome Wpf_DataBinding e clique em OK;

O projeto será criado conforme a figura exibida a seguir onde vemos o arquivo MainWindow.xaml exibir o código XAML gerado;

Vamos incluir um controle ListBox no interior do Grid do formulário WPF de forma que o código deverá ficar assim:

Eu estou incluindo um ListBox chamado lstProducts  e o objeto e realizar o databinding com o banco de dados Northwind.mdb e exibir o código do produto e o nome do produto da tabela Products deste banco de dados:

Agora vamos ao código do projeto...

Abra o arquivo code-behind MainWindow.xaml.vb vamos declarar os namespaces que vamos usar;

Imports System.Data
Imports
System.Data.OleDb

A seguir vamos declarar as variáveis que serão usadas para conexão e execução do comando e a string SQL com o comando SELECT:

Dim olecon As OleDbConnection
Dim olecmd As OleDbCommand
Dim strsql As String = "SELECT * FROM Products"

A seguir no evento Window_Loaded vamos colocar a chamada a rotina VincularDados();

Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded

    VincularDados()

End Sub

A rotina VincularDados() possui o seguinte código:

    Private Sub VIncularDados()
        olecon = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\dados\Northwind.mdb")
        olecmd = New OleDbCommand(strsql, olecon)
        Dim ds As New DataSet()
        Dim da As New OleDbDataAdapter()
        Try
            olecon.Open()
            da.SelectCommand = olecmd
            da.Fill(ds, "Products")
            lstProducts.DataContext = ds
        Catch ex As Exception
        Finally
            olecon.Close()
        End Try
    End Sub

 

Destaques do código acima:

- A string de conexão com o banco de dados Northwind.mdb:
 olecon = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\dados\Northwind.mdb")

- A geração do dataset Products :
 da.Fill(ds, "Products")

Note que a propriedade ItemsSource do código XAML deve ter o mesmo nome do DataSet gerado;

ItemsSource="{Binding Path=Products}"

E que a vinculação do código e nome do produto são feitos no controle TextBlock;

<TextBlock Text="{Binding Path=ProductID}" />
<
TextBlock Text="{Binding Path=ProductName}" />

Para exibir o código e  nome do produto no listbox criamos vinculação na propriedade ItemsTemplate ;

Executando o projeto iremos obter:

Simples , simples assim...

Pegue o projeto completo aqui: Wpf_DataBinding.zip

Eu sei é apenas WPF, mas eu gosto...

Referências:

José Carlos Macoratti