Introduzione
I Database sono degli archivi di dati strutturati e organizzati che memorizzano grandi quantità di informazioni, e permettono agli utenti di differenti applicazione di estrarre informazioni, manipolarle e gestire in modo semplice e intuitivo attraverso delle applicazioni DBMS con front end come ad esempio il software Microsoft Access, o mediante il linguaggio SQL mediante l’uso di DBMS da riga di comando o con delle interfacce Web Mysql, SQL Server, Oracle DBMS, ecc.
Obiettivo
In modo pratico e veloce vediamo come integrare un database access in un’applicazione Windows Forms, e di visualizzare i dati un Form personalizzato.
Avviamo l’ambiente Visual Studio, creiamo una nuova soluzione Windows Forms .NET e il software prepara la soluzione che è composta dal nostro Form. Inseriamo nel nostro Form quattro etichette, quattro caselle di testo e quattro pulsanti come mostrato in figura.

La tabella sotto ripotata indica le proprietà da cambiare in fase di progettazione della GUI.
Tipo Controllo | Proprietà | Valore |
Caselle di testo (TextBox) | Name | Txtcognome, txtnome, txtage, txtcodiceclasse |
Bottoni (Button) | Name | cmdInserisci, cmdAvanti, cmdIndietro, cmdFine |
Bottoni | Text | Inserisci, Avanti, Indietro, Fine |
L’applicazione apre la connessione ad un Database, seleziona la tabella “Studenti”, e visualizza in automatico i dati estratti mediante una query dal Database.
I pulsanti Avanti e Indietro sposteranno i dati sul record successivo e precedente muovendo il DataTable ovvero l’oggetto che contiene i dati estratti mediante il Dataset.
Il pulsante “Fine” termina l’applicazione, il pulsante “Inserisci” (sarà presentato nel prossimo articolo) inserisci i dati nella tabella del Database.
Per realizzare la connessione al Database abbiamo inserito il file Access nella cartella principale del progetto onde evitare per ora di specificare il Path della sorgente dati.
Per accedere al Database Access usiamo la libreria Microsoft.ACE.OleDB.12.0 che deve installata attraverso il gestore dei pacchetti Nuget nella soluzione.
Per installare il pacchetto andiamo nella voce di Menù Visualizza -> Esplora Soluzione, e selezioniamo la nostra soluzione come mostrato in figura:

Selezioniamo il nome del progetto “AppDB2” e dalla voce di Menù Progetto – Installa Pacchetto Nuget, si apre una finestra di dialogo che permette di installare i pacchetti da Internet sul repository ufficiale e installiamo il Provider “Microsoft.ACE.OlEDB.12.0” attendiamo e l’installazione integra il pacchetto alla nostra soluzione. E’ mostrato in figura la finestra di dialogo.

Codice dell’Applicazione Visual Basic
Fatte queste operazioni preliminari il codice da integrare è per l’evento Form_Load:
Public Class Form1
Dim stConn As String = "Provider = Microsoft.ACE.OLEDB.12.0;Data Source=scuola.accdb"
Dim conn As New OleDbConnection(stConn)
Dim k As Integer = 0
Dim dataset As New DataSet
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
conn.Open()
MessageBox.Show("Connessione al Database Risucita -)", "Avviso")
Dim query As String = "SELECT * FROM Studente;"
Dim ris As New OleDbDataAdapter(query, conn)
ris.Fill(dataset, "Studente")
Dim dt As DataTable = New DataTable("Studente")
'Dim righe As DataRow
'Dim colonne As DataColumn = New DataColumn
txtmatricola.Text = dataset.Tables("Studente").Rows(0)("num_matricola").ToString
txtcognome.Text = dataset.Tables("Studente").Rows(0)("cognome").ToString
txtnome.Text = dataset.Tables("Studente").Rows(0)("nome").ToString
txtcodiceclasse.Text = dataset.Tables("Studente").Rows(0)("cod_classe").ToString
Catch ex As Exception
MessageBox.Show("Errore nella connessioen ad Database:" & ex.Message, "Errore Attenzione")
End
Finally
If (conn.State = ConnectionState.Open) Then
conn.Close()
End If
End Try
End Sub
Il codice è molto semplice definisco la stringa di connessione “stConn” che prevede due parametri il nome del Provider DBMS (che contiene le API di interfacciamento a qual particolare DBMS) e la posizione del file di database (in questo caso è nella cartella del progetto).
E’ poi definita un oggetto di tipo OleDBConnection di nome “conn” che ha come parametro la stringa di connessione definita in precedenza. E’ definito il valore k intero che indica il numero del record da selezionare nell’oggetto Tabella.
Viene gestita l’apertura della connessione con try .. catch .. finally in quanto se le connessione fallisce deve dare un errore e non terminare bruscamente il programma. Viene definito un Dataset.
Se la connessione va a buon fine nel blocco try è definita la query SQL come stringa, viene eseguta la query mediante l’oggetto OleDBAdpater che prende due parametri la connessione e la query.
La query è eseguita (abbiamo tralasciato la try .. catch in caso di errori SQL). L’oggetto “ris” viene utilizzato per popolare il dataset con etichetta pari al nome della tabella per semplicità “Studente”.
E’ definito l’oggetto di output DataTables con i dati estratti dal dataset (è necessario rispettare la sequenza di operazioni).
Nel blocco di righe:
Puoi abbonarti al link al menù principale o cliccando sul link Abbonati Ora!