Quando programmavamo in VB.NET cia siamo accorti che il limte era la memorizzazione dei dati : facevamo calcoli, anche complessi ma al termine dell'applicazione nulla rimaneva memorizzato.
Abbiamo imparato a creare dei file sequenziali (txt) e a gestirli con VB.NET.
Ora il passo successivo : creiamo un'applicazione per gestire i dati nel complesso, quindi partiamo dalla memorizzazione dei dati in una data base, prevediamo poi letture e conteggi e infine l'aggiornamento dei dati. Una domanda: perchè non farlo direttamente in Access ? Perchè access permette di conservare e manipolare i dati, ma occorre sempre un'interfaccia per evitare che utenti poco accorti facciano modifiche non volute alla base dati.
Sul canale youtube del Mattei trovate un primo video realizzato da un vostro compagno..qualche anno fa
01 gestione database con VB
e ora vediamo in pratica il primo programma in vb.net con gestione del DB definito in ACCESS.
Attenzione: per chi ha OFFICE fino a 2016 occorre scaricare e utilizzare ACE.OLEDB.12.0, mentre per chi ha OFFICE 2016 o successiva versione occorre scaricare ACE.OLEDB.16.0 (https://www.microsoft.com/it-IT/download/details.aspx?id=54920) (64 bit)
Qualora nell'esecuzione del programma il sistema vi dia l'errore ACE.OLEDB.16.0 non trovato occorre installare anche la versione a 32 bit . Di seguito gli step per installare la versione a 32 bit:
1) Scaricare il file da questo link -> https://download.microsoft.com/download/3/5/C/35C84C36-661A-44E6-9324-8786B8DBE231/accessdatabaseengine.exe
2) Aprire il prompt dei comandi come amministratore: scrivere "cmd" nella barra di ricerca, fare click destro su "Prompt dei comandi" e scegliere esegui come amministratore
3) Digitare nel prompt il percorso completo del file scaricato seguito da uno spazio e da /quiet ad esempio:
C:\Users\nomeutente\Downloads\accessdatabaseengine.exe /quiet
premere invio ed attendere la scomparsa della finestra nera che si aprirà.
premere invio ed attendere la scomparsa della finestra nera che si aprirà.
Ecco le applicazioni, sempre presenti sul canale youtube del Mattei :
02 creare DB in access e il modulo con VB
03 inserimento dati in db access con VB
05 Query con risultato singolo con VB
06 Query con più risultati con VB
Il mio consiglio è sempre il solito : mentre guardi i video fai quello che vedi .. e tutto sarà semplice
Altri video
Metodo execute scalar : https://www.youtube.com/watch?v=7ZLcB4Yy-ns
Metodo execute reader : https://www.youtube.com/watch?v=v_eB2ZpWWL8&t=154s
Metodo execute non query :https://www.youtube.com/watch?v=8kgRkjzwzec&t=205s
Se hai ancora dubbi ecco altro materiale : le fantastiche dispense del Prof. Santoro
Due semplici documenti che ti spiegano tutto..
e un'applicazione.. che è un capolavoro (sempre realizzata dal Prof. Santoro)
https://drive.google.com/file/d/1DU82drQeNWJBkobatWBvnhAkbqMPzIPK/view?usp=sharing
Esercizio 1 : GESTIONE DI UNA BIBLIOTECA - parte 1
Vogiamo creare un'applicazione per gestire i libri della biblioteca del Mattei
crea la cartella GESTIONE_BIBLIOTECAXX , dove xx sono le iniziali del tuo cognome e nome
crea all'interno il DB GESTIONE_BIBLIOTECAXX.ACCDB , dove xx sono le iniziali del tuo cognome e nome , e all'interno definisci la tabella LIBRIXX composta dai seguenti campi:
ID_LIBROXX (chiave univoca , numerico autoincrement)
TITOLOXX (alfanumerico , lungo 50 , obbligatorio )
CASA_EDITRICEXX (alfanumerico , lungo 50, obbligatorio)
PREZZOXX (numerico , intero, obbligatorio)
Crea la tabella in ACCESS tramite sql.
Crea ora l'applicazione per la gestione della biblioteca sempre nella medesima cartella.
Crea il form principale, che contine un pulsante GESTIONE LIBRI , che rimanda al FORM GESTIONE_LIBRIXX, che contiene per ora TRE pulsanti
il pulsante INSERIMENTO LIBRI
il pulsante VISUALIZZA I LIBRI INSERITI
il pulsante CONTA I LIBRI INSERITI
Crea il form INSERIMENTO_LIBRIXX tramite il quale effettui l'inserimento dati nel DB
Crea il form VISUALIZZA_LIBRIXX che permette la visualizzazione dei libri inseriti
Crea il form CONTEGGIO_LIBRIXX che permette il conteggio dei libri inseriti
Alcune note :
Abituati a usare sempre le maiuscole o le minuscole per i nomi dei campi e il nome del DB; se per esempio il campo nella tabella si chiama Nomexx e nel VB scrivi NOMEXX avrai dei problemi
Nell'inserimento il campo autoincrement non deve essere previsto in quanto generato in automatico dal sistema
come sarai interrogato? nell'interrogazione ti verrà chiesto di spiegare i comandi inseriti e cosa sono i comandi in questione, non ci limiteremo a correggere il compito.
Sempre sul canale youtube del Mattei puoi trovare il video
04 aggiornare DB con VB
per capire come aggiornare i dati nel DB.
Ed ora vogliamo selezionare.. che so tutti gli elementi con una certa caratteristica (esempio tutti i libri di prezzo maggiore di un prezzo fornito a parametro.. )
guarda il video del Prof. Tarantino e poi via con il nuovo esercizio
https://youtu.be/qHY5dSnhHb0
Esercizio 1 : GESTIONE DI UNA BIBLIOTECA - parte 2
crea all'interno del DB GESTIONE_LIBRIXX una seconda tabella : la tabella AUTORIXX, che contiene i campi :
ID_AUTOREXX (chiave univoca , numerico autoincrement)
COGNOME (alfanumerico , lungo 50 , obbligatorio )
NOME (alfanumerico , lungo 50, obbligatorio)
ETA (numerico , intero, obbligatorio)
Crea la tabella in ACCESS tramite sql.
Modifica il form principale e inserisci il pulsante GESTIONE AUTORI , che rimanda al FORM GESTIONE_AUTORIXX, che contiene5 pulsanti :
il pulsante INSERIMENTO AUTORI
il pulsante VISUALIZZA GLI AUTORI INSERITI
il pulsante CONTEGGI PER ETA
Il pulsante MODIFICA NOME
Il pulsante RICERCA AUTORI PER ETA'
Attenzione : non creare un nuovo progetto VB , ma modifica il precedente
Crea il form INSERIMENTO_AUTORIXX tramite il quale effettui l'inserimento dati nel DB
Crea il form VISUALIZZA_AUTORIXX che permette la visualizzazione degli autori
Crea il form CONTEGGI_ETA_AUTORIXX che permette
di determinare l'età dell'autore più vecchio
di determinare l'età dell'autore più giovane
di determinare l'età media degli autori
crea il form AGGIORNA_AUTORI che permette di MODIFICARE il nome di un autotore con cognome fornito a parametro
Crea il form RICERCA_AUTORI_PER_ETA , che permette di ricercare gli autori di un età fornita a parametro ,cioè fornità dall'utente in un textbox.
nb: E' chiaro che sarebbe opportuno, per quest'ultima ricerca, prima contare se sono presenti autori nel db con età data, se lo sono visualizzarli , altrimenti fornire un messaggio tipo : "non sono presenti autori che soddisfano la richiesta".
L'applicazione deve essere.. bella !!
Guarda l'applicazione fornita dal Prof. Santoro
Esercizio 2 - GESTIONE FILM
Creare in access un db che contenga queste tre tabelle , che chiamerai Gestione_film_xx:
ATTORI (CodAttore, Nome, AnnoNascita, Nazionalità);
RECITA (CodAttore*, CodFilm*, ruolo ) (NOTA : è la tabella di relazione fra Attore e Film , non ha chiave univoca e i campi CodAttore e CodFilm sono numerici e servono a collegare Film e Attori )
FILM (CodFilm, Titolo, AnnoProduzione, Nazionalità, Regista, Genere)
(RICORDA DI INSERIRE LE TUE INIZIALI NEL NOME TABELLA E NOME CAMPO).
in vb :
prevedere un primo form che rimanda a tre form successivi : Gestione Attori, Gestione Recita e Gestione Film
sezione gestione ATTORI :
prevedere il form di inserimento degli attori nella tabella attori (con gli opportuni controlli per l'inserimento dei campi)
prevedere un form per contare il numero di attori nati in un anno fornito a parametro
prevedere un form per determinare i nomi e la nazionalità degli attori più vecchi, indicando anche l’anno di nascita
prevedere un form per estrarre i nomi degli attori di una nazionalità fornita a parametro
prevedere un form per modificare da moldava a russa la nazionalità degli attori nati prima del 2020
eliminare dalla tabella gli attori bulgari
PARTE 2
Riprendi l’esercizio di compito per oggi e implementa la sezione gestione FILM.
§ prevedere il form di inserimento dei FILM nella tabella FILM
§ senza controlli
§ con gli opportuni controlli per l'inserimento dei campi
§ prevedi un form (1 alternativa fra le tre specificate)
§ per contare i film
§ per contare i film prodotti dopo un anno fornito a parametro
§ per contare i film GIALLI prodotti dopo un anno fornito a parametro
§ prevedi un form (1 alternativa fra le due specificate)
§ per cancellare tutti i film
§ per cancellare i film di una nazionalita’ a scelta fra quelle fornite a parametro in un combobox
§ prevedi un form (1 alternativa fra le due specificate)
§ per visualizzare tutti i film
§ per contare i film con anno produzione <, > o = a un anno fornito a parametro (il simbolo < , > e = devono essere inseriti in un combobox ) (vedi form interrogazione prof Santoro)
§ prevedi un form (1 alternativa fra le due specificate)
§ per aggiornare la data di produzione a 1960 per tutti i record
§ per aggiornare la data di produzione a 1980 per tutti i record
con data produzione = minima data di produzione