In questo articolo vedremo come utilizzare un database di tipo MDF, che ci permette di gestire alcuni dati basilari, il tutto tramite il linguaggio di programmazione Vb.Net e C# tramite l’ambiente di sviluppo Visual Studio 2015.
Si crea un nuovo progetto di tipo Desktop classico, ossia le “Windows Application”, il tutto come illustrato in figura 1.
Figura 1 – la creazione del progetto
Selezioniamo come modello “Applicazione Windows Form”, ed assegniamo un nome al progetto. A questo punto confermiamo il tutto tramite il pulsante “OK”.
Una volta creato il progetto, inseriamo nella nostra form due controlli di tipo label, un controllo di tipo DatagridView e due controlli Textbox, il tutto come mostrato in figura 2.
Figura 2 – La finestra con i relativi controlli
Continuando la parte progettazione, dobbiamo aggiungere il database.
Dalla finestra esplora risorse, clicchiamo con il tasto destro del mouse sul nome del progetto, nel menu di scelta rapida che viene aperto, selezioniamo la voce “Aggiungi” e poi la sotto voce “Nuovo Elemento”.
Nella finestra che viene aperta, selezioniamo la categoria “Dati” e poi la voce “Database basato sui servizi” il tutto come mostrato in figura 3.
Figura 3 – Aggiunta del database.
Dopo aver conferma tramite il pulsante “Aggiungi” nel progetto avremmo il database di tipo MDF.
Creazione delle tabelle e la relativa gestione
Dopo aver creato il database, dobbiamo modellarlo con l’aggiunta di una tabella, che avrà due colonne, una denominata “Nome” e l’altra “Cognome”, naturalmente quando si crea una tabella, viene creato un campo di tipo ID.
Per creare la tabella dobbiamo fare doppio sul nome del database , a questo punto verrà aperta la finestra “Esplora Server”, tramite tasto destro sulla voce “Tabella”, selezioniamo la voce “aggiungi nuova tabella” il tutto come mostrato in figura 4.
Figura 4 – Aggiunta di una nuova tabella.
Verrà aperta la finestra di progettazione della tabella, in questo modo ci permette di disegnare la nostra tabella secondo le nostre esigenze.
Aggiungiamo due campi, uno chiamato “Nome” e l’altro “Cognome” entrambi di tipo varchar50, il tutto come riportato in figura 5.
Figura 5 – La progettazione della tabella
Tramite il pulsante “Update” situato in alto sopra ai nomi dei campi, ci fornirà lo script, che una volta eseguito crea la tabella.
Per accedere al database utilizziamo Entity Framework, in questo modo utilizzeremo un modello di classi basato su tabelle.
Facciamo click con il tasto destro del mouse sul nome del progetto, e tramite il menu di scelta rapida selezioniamo “Aggiungi” e poi la sottovoce “Nuovo Elemento”, nella finestra che viene aperta, selezioniamo sempre la voce di categoria “Dati”, ma come modello “Ado.Net Entity Data Model”.
Confermiamo il tutto tramite il pulsante “aggiungi”.
Dopo la conferma verrà avviato un Wizard con il quale ci permette di configurare la gestione dei dati.
La prima schermata (figura 6 ) ci chiede quale modello di accesso ai dati vogliamo utilizzare.
Figura 6 - La finestra per la scelta del tipo di entità
Selezioniamo il primo modello quello con la dicitura “Entity Framewor Designer da Database” e facciamo click con il pulsante “Avanti”.
Continuando nella finestra successiva (figura 7) ci chiede quale database puntare, di norma ci restituisce quello che abbiamo appena creato.
Figura 7 – La scelta del database
La finestra di seguito ci illustra la versione di Entity Framework che vogliamo utilizzare, figura 8.
Figura 8 – La scelta della versione del Framework.
A questo punto, facciamo click sul pulsante “Avanti”, e nell’ultima finestra selezioniamo le tabelle di nostro interesse (figura 9 ).
Figura 9 – La scelta delle tabelle.
Confermate tramite il pulsante “Fine”.
Stesura del codice
Siamo giunti alla parte più interessante per ogni programmatore, la stessura del codice.
Passiamo in visualizzazione codice.
Si crea un oggetto di tipo “Contesto” per la gestione della tabella.
Qui di seguito tale dichiarazione a livello di classe.
VB.Net
Dim entita As New Database1Entities
C#
Database1Entities entita = new Database1Entities();
A questo punto si crea una funzione per il caricamento dei dati nella griglia.
Qui di seguito la funzione carica dati.
VB.Net
Sub CaricaDati()
Dim risultato = (From dato In entita.Dati Select dato).ToList()
dataGridView1.DataSource = risultato
End Sub
C#
void caricaDati()
{
var risultato = (from dato in entita.Dati select dato).ToList();
dataGridView1.DataSource = risultato;
}
Ora la funzione non ci resta che chiamarla nel fase di caricamento della form e nella fase di inserimento dati.
Qui di seguito nell’evento load della nostra form.
VB.Net
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
CaricaDati()
End Sub
C#
private void Form1_Load(object sender, EventArgs e)
{
caricaDati();
}
Ora non ci resta che scrivere il codice per l’inserimento dei dati, nell'evento click del pulsante (doppio click) scrviamo il codice che permette di aggiungere un record.
Si crea un nuovo oggetto di tipo dati, che è il nome della tabella, una volta impostato i valori nelle varie proprietà (campi) tramite il metodo Add del contesto, aggiungiamo i dati non in maniera definitiva, che questo avviene solo dopo l'esecuzione dell'evento SaveChanges.
Qui di seguito l'esempio di codice.
VB.Net
Private Sub button1_Click(sender As Object, e As EventArgs) Handles button1.Click
Dim recordoNuovo As New Dati
recordoNuovo.Cognome = txtCognome.Text
recordoNuovo.Nome = txtnome.Text
entita.Dati.Add(recordoNuovo)
entita.SaveChanges()
CaricaDati()
End Sub
C#
private void button1_Click(object sender, EventArgs e)
{
Dati NuovoRecord = new Dati();
NuovoRecord.Cognome = txtCognome.Text;
NuovoRecord.Nome = txtCognome.Text;
entita.Dati.Add(NuovoRecord);
entita.SaveChanges();
caricaDati();
}
Conclusioni
L’articolo ha voluto fornire al lettore come in pochi semplici passi si possono creare applicazioni gestionali, con una fonte dati tramite accesso al database.
L’ambiente di sviluppo Visual Studio 2015 semplifica di molto tale operazione e con la nuova versione di EntityFramework, anche la stesura di codice diventa più leggibile e facile da utilizzare.