posts - 82, comments - 0, trackbacks - 0

My Links

News

Archives

Post Categories

C# Download

Facebook

Informativa cookie

Linkedin

Microsoft

Msdn Gallery

Twitter

VisualBasic

Wiki Tecknet

Esempio di utilizzo query SQL su Database Access 2007 ed utilizzi dei parameter

Girovagando su alcuni Forum riguardanti la programmazione, ho notato diverse discussioni che trattavano l’uso e l’utilizzo di query SQL su Database Microsoft Access.Uno dei problemi maggiormente visti era quello riguardante i Driver JET, ovvero il messaggio:

IL DRIVER MICROSOFT JET NON E REGISTRATO NEL COMPUTER LOCALE , questo riguardo all’ utilizzo di Microsoft Access 2003 , invece il messaggio DRIVER MICROSOFT .ACE.OLEDB.12.0 NON EREGISTRATO NEL COMPUTER LOCALE riguarda l’utilizzo di Microsoft Access 2007.

Un altro problema notato era quello dell’utilizzo di query SQL su un Database Microsoft Access.In questo articolo voglio lasciare un esempio di codice VB.NET di un programma che ho sviluppato per le esigenze di amici , si tratta di una semplice rubrica telefonica , dove ci sono un Database Microsoft Access 2007 , con la quale tramite query SQL viene aggiornato , vengono aggiunti , modificati ed eliminati record dal Database.

Si tratta di un esempio , che spero possa aiutare chi incontra e chi incontrerà tali problemi. Mi scuso anticipatamente se nell’esempio ci sono aspetti poco chiari per qualcuno , se ci sono errori Di concetto di programmazione e probabilmente visto che non sono programmatore di professione Alcuni utenti programmatori di professione troveranno insensate alcune cose dell’esempio.

Ma partiamo creandoci un Database Microsoft Access 2007. Se siamo in possesso di Access 2007 lo avviamo e creiamo un Database vuoto come in figura e Lo chiamiamo Rubrica.

clip_image002

 

Fatto ciò premiamo il pulsante Crea , ed appare la pagina dove inserire il nome dei campi il tipo di dati in modo da poter creare una tabella come in figura.

 

clip_image004

 

A questo punto creiamo quattro campi denominati NOME,COGNOME,TELEFONO,POSIZIONE_RUBRICA tutti di tipo testo in modo da ottenere una cosa di questo tipo come in figura:

 

clip_image006

Fatto questo premiamo il pulsante salva posto in alto a sinistra e ci verrà visualizzata una Finestra di dialogo che chiede di assegnare un nome alla tabella , la chiameremo TabellaRubrica.

 

clip_image008

TabellaRubrica con al suo interno quattro campi chiamati NOME,COGNOME,TELEFONO,E POSIZIONE_RUBRICA. A questo punto possiamo anche chiudere Microsoft Access 2007 ed iniziare a sviluppare il progetto Rubrica con VisualStudio.


Avviamo VisualStudio e creiamo un nuovo progetto VB.NET di tipo Windows Form e lo chiamiamoRubrica e premiamo il tasto ok.

 

clip_image010

Si aprirà il form principale e lo rinominiamo chiamandolo FrmRubrica come in figura.

 

clip_image012

Aggiungiamo al form cinque controlli GroupBox , a tre di queste aggiungiamo quattro label,quattro caselle di testo e tre pulsanti uno per GroupBox. Alla quarta GroupBox aggiungiamo un controllo datagridview , e all’ultimo GroupBox due label,una casella di testo , due pulsanti e un controllo ComboBox. Aggiungiamo in fine in alto al form un controllo toolstripmenuitem , alla fine dovreste avere un form come mostrato in figura.

 

clip_image014

Dopo averli disposti su form ,nominiamo i controlli presenti all’interno del GoupBox INSERIMENTO DATI :

la label denominata NOME in lblNome la label denominata COGNOME in lblCognome la label denominata TELEFONO in lblTelefono

la label denominata POSIZIONE RUBRICA in lblPosizoneRubrica la casella di testo di fianco alla label NOME in txtNome la casella di testo di fianco alla label COGNOME in txtCognome la casella di testo di fianco alla label TELEFONO in txtTelefono la casella di testo di fianco alla label POSIZIONE RUBRICA in txtPosizioneRubrica il pulsante lo chiamiamo btnInserisci

Ora nominiamo i controlli presenti all’interno del GoupBox ELIMINAZIONE DATI : la label denominata NOME in lblEliminaNome la label denominata COGNOME in lblEliminaCognome la label denominata TELEFONO in lblEliminaTelefono la label denominata POSIZIONE RUBRICA in lblEliminaPosizoneRubrica la casella di testo di fianco alla label NOME in txtEliminaNome la casella di testo di fianco alla label COGNOME in txtEliminaCognome la casella di testo di fianco alla label TELEFONO in txtEliminaTelefono la casella di testo di fianco alla label POSIZIONE RUBRICA in txtEliminaPosizioneRubrica il pulsante lo chiamiamo btnElimina

Fatto questo nominiamo anche i controlli presenti nel GroupBox MODIFICA DATI la label denominata NOME ATTUALE in lblNomeAttuale la label denominata COGNOME ATTUALE in lblCognomeAttuale la label denominata TELEFONO ATTUALE in lblTelefonoAttuale la label denominata POSIZIONE RUBRICA in lblPosizoneRubricaAttuale la casella di testo di fianco alla label NOME ATTUALE in txtNomeAttuale la casella di testo di fianco alla label COGNOME ATTUALE in txtCognomeAttuale la casella di testo di fianco alla label TELEFONO ATTUALE in txtTelefonoAttuale la casella di testo di fianco alla label POSIZIONE RUBRICA in txtPosizioneRubricaAttuale il pulsante lo chiamiamo btnModifica

Adesso nominiamo i controlli del GroupBox RICERCA la label denominata TIPO RICERCA in lblTipoRicerca la label denominata RICERCA in lblRicerca il combobox di fianco alla label TIPO RICERCA in cbxTipoRicerca la casella di testo di fianco alla label RICERCA in txtRicerca il pulsante sotto la label denominata RICERCA in btnAggiorna il pulsante di fianco al pulsante btnAggiorna in btnRicerca

L’ultimo groupBox e quello che contiene il datagridview , lo selezioniamo e lo nominiamo dtgRubrica.

Resta ancora da inserire un pulsante denominato poi BtnEsci all’interno ToolStripMenuItem. Terminato tutto il lavoro di nomenclatura dei singoli componenti si può passare alla crrazione Delle classi necessarie , per lo meno per me in grado di poter rendere funzionale l’applicazione.

Cominciamo con il creare sei classi , selezionare in VisualStudio la voce esplora soluzioni , selezionare poi con un click del mouse il progetto Rubrica , tasto destro del mouse , aggiungi e selezionare classe come mostrato in figura.

 

clip_image016

 

 


Creare le seguenti classi:

InserisciDatiRubrica.vb , ModificaDatiRubrica.vb,EliminaDatiRubrica.vb,RubricaDAO.vb e GestioneRubrica.vb. Nella Classe InserisciDatiRubrica verranno dichiarate quattro variabili private di tipo String,quattro Metodi Set e quattro Funzioni get , come dimostrato nel codice che segue.

 

' Classe InserisciDatiRubrica

Public Class InserisciDatiRubrica

' Dichiaro quattro variabili di tipo string ed assegno il valore String.Empty

Dim nome As String = String.Empty

Dim cognome As String = String.Empty

Dim telefono As String = String.Empty

Dim posizioneRubrica As String = String.Empty

 

' Questa funzione quando richiamata restituisce il valore della variabile nome

' Valorizzata tramite l'altro metodo ovvero setNome , il metodo sarà poi richiamato

' Al momento di inserire il nome al campo NOME del Database Rubrica della riga selezionata

' Sul datagridview

Public Function getNome() As String

' Restituisco il valore di nome al chiamante

Return Me.nome

End Function

 

' Questa Sub quando richiamata si aspetta un parametro tipo string e

' Valorizzata tramite il parametro nome,il metodo sarà poi richiamato

' nel caso l'utente voglia inserire il nome nel campo NOME all'interno del Database Rubrica della riga selezionata sul datagridview e

' Successivamente la variabile nome può essere recuperata tramite la funzione getNome()

Public Sub setNome(ByVal nome As String)

' Valorizzo la variabile nomeModificato

Me.nome = nome

End Sub

 

' Questa funzione quando richiamata restituisce il valore della variabile cognome

' Valorizzata tramite l'altro metodo ovvero setCognome , il metodo sarà poi richiamato

' Al momento di inserire il cognome al campo COGNOME del Database Rubrica della riga selezionata

' Sul datagridview

Public Function getCognonme() As String

' Restituisco il valore di cognome al chiamante

Return Me.cognome

End Function

 

' Questa Sub quando richiamata si aspetta un parametro tipo string e

' Valorizzata tramite il parametro cognome,il metodo sarà poi richiamato

' nel caso l'utente voglia inserire il cogmome nel campo COGNOME all'interno del Database Rubrica della riga selezionata sul datagridview e

' Successivamente la variabile cognome può essere recuperata tramite la funzione getCogNome()

Public Sub setCognome(ByVal cognome As String)

' Valorizzo la variabile nomeModificato

Me.cognome = cognome

End Sub

 

' Questa funzione quando richiamata restituisce il valore della variabile telefono

' Valorizzata tramite l'altro metodo ovvero setNumeroTelefono , il metodo sarà poi richiamato

' Al momento di inserire il numero di telefono al campo TELEFONO del Database Rubrica della riga selezionata

' Sul datagridview

Public Function getNumeroTelefono() As String

' Restituisco il valore di telefono al chiamante

Return Me.telefono

End Function

 

' Questa Sub quando richiamata si aspetta un parametro tipo string e

' Valorizzata tramite il parametro telefono,il metodo sarà poi richiamato

' nel caso l'utente voglia inserire il numero di telefono nel campo TELEFONO all'interno del Database Rubrica della riga selezionata sul datagridview e

' Successivamente la variabile telefono può essere recuperata tramite la funzione getNumeroTelefono()

Public Sub setNumeroTelefono(ByVal telefono As String)

' Valorizzo la variabile telefonoModificato

Me.telefono = telefono

End Sub

 

' Questa funzione quando richiamata restituisce il valore della variabile posizioneRubrica

' Valorizzata tramite l'altro metodo ovvero setPosizioneRubrica , il metodo sarà poi richiamato

' Al momento di inserire il numero di posizione rubrica al campo POSIZIONE_RUBRICA del Database Rubrica della riga selezionata

' Sul datagridview

Public Function getPosizioneRubrica() As String

' Restituisco il valore di posizioneRubrica al chiamante

Return Me.posizioneRubrica

End Function

 

' Questa Sub quando richiamata si aspetta un parametro tipo string e

' Valorizzata tramite il parametro posizionerubrica,il metodo sarà poi richiamato

' nel caso l'utente voglia inserire il numero di posizone rubrica nel campo POSIZONE_RUBRICA all'interno del Database Rubrica della riga selezionata sul datagridview e

' Successivamente la variabile posizioneRubrica può essere recuperata tramite la funzione getPosizioneRubrica()

Public Sub setPosizioneRubrica(ByVal posizionerubrica As String)

' Valorizzo la variabile posizionerubrica

Me.posizioneRubrica = posizionerubrica

End Sub

End Class

 

In questa classe i Metodi setNome,setCognome,setTelefono,setPosizioneRubrica si aspettano un Parametro di tipo String. Vedremo in seguito come valorizzare i parametri di questi metodi e in che modo saranno poi utilizzati nel FrmRubrica .

 


Anche nella Classe ModificaDatiRubrica verranno dichiarate quattro variabili private di tipo String,quattro Metodi Set e quattro Funzioni get , come dimostrato nel codice che segue.

' Classe ModificaDatiRubrica

Public Class ModificaDatiRubrica

' Dichiaro quattro variabili di tipo string ed assegno il valore String.Empty

Dim nomeModificato As String = String.Empty

Dim cognomeModificato As String = String.Empty

Dim telefonoModificato As String = String.Empty

Dim posizioneRubrica As String = String.Empty

 

' Questa funzione quando richiamata restituisce il valore della variabile nomeModificato

' Valorizzata tramite l'altro metodo ovvero setNomeModificato , il metodo sarà poi richiamato

' Al momento di riassegnare il nome eventualmente modificato al campo NOME del Database Rubrica della riga selezionata

' Sul datagridview

Public Function getNomeModificato() As String

' Restituisco il valore di nomeModificato al chiamante

Return Me.nomeModificato

End Function

 

' Questa Sub quando richiamata si aspetta un parametro tipo string e

' Valorizzata tramite il parametro nomemodificato,il metodo sarà poi richiamato

' nel caso l'utente voglia modificare il campo NOME all'interno del Database Rubrica della riga selezionata sul datagridview e

' Successivamente la variabile nomeModificato può essere recuperata tramite la funzione getNomeModificato()

Public Sub setNomeModificato(ByVal nomemodificato As String)

' Valorizzo la variabile nomeModificato

Me.nomeModificato = nomemodificato

End Sub

 

' Questa funzione quando richiamata restituisce il valore della variabile cognomeModificato

' Valorizzata tramite l'altro metodo ovvero setCognomeModificato , il metodo sarà poi richiamato

' Al momento di riassegnare il cognome eventualmente modificato al campo COGNOME del Database Rubrica della riga selezionata

' Sul datagridview

Public Function getCognonmeModoficato() As String

' Restituisco il valore di cognomeModificato al chiamante

Return Me.cognomeModificato

End Function

 

' Questa Sub quando richiamata si aspetta un parametro tipo string e

' Valorizzata tramite il parametro cognomemodificato,il metodo sarà poi richiamato

' nel caso l'utente voglia modificare il campo COGNOME all'interno del Database Rubrica della riga selezionata sul datagridview e

' Successivamente la variabile cognomeModificato può essere recuperata tramite la funzione getCogNomeModificato()

Public Sub setCognomeModificato(ByVal cognomemodificato As String)

' Valorizzo la variabile nomeModificato

Me.cognomeModificato = cognomemodificato

End Sub

 

' Questa funzione quando richiamata restituisce il valore della variabile telefonoModificato

' Valorizzata tramite l'altro metodo ovvero setNumeroTelefono , il metodo sarà poi richiamato

' Al momento di riassegnare il telefono eventualmente modificato al campo TELEFONO del Database Rubrica della riga selezionata

' Sul datagridview

Public Function getNumeroTelefonoModificato() As String

' Restituisco il valore di telefonoModificato al chiamante

Return Me.telefonoModificato

End Function

 

' Questa Sub quando richiamata si aspetta un parametro tipo string e

' Valorizzata tramite il parametro telefonodificato,il metodo sarà poi richiamato

' nel caso l'utente voglia modificare il campo TELEFONO all'interno del Database Rubrica della riga selezionata sul datagridview e

' Successivamente la variabile telefonoModificato può essere recuperata tramite la funzione getNumeroTelefonoModificato()

Public Sub setNumeroTelefono(ByVal telefonomodificato As String)

' Valorizzo la variabile telefonoModificato

Me.telefonoModificato = telefonomodificato

End Sub

 

' Questa funzione quando richiamata restituisce il valore della variabile posizioneRubrica

' Valorizzata tramite l'altro metodo ovvero setPosizioneRubrica , il metodo sarà poi richiamato

' Solamente per identificare tramite la clausola WHERE della query sql di modifica , in modo da

' Modificare i dati appartenenti a tale posizione rubrica

Public Function getPosizioneRubrica() As String

' Restituisco il valore di posizioneRubrica al chiamante

Return Me.posizioneRubrica

End Function

 

' Questa Sub quando richiamata restituisce il valore della variabile posizionerubrica

' Valorizzata tramite l'altro metodo ovvero getPosizioneRubrica , il metodo sarà poi richiamato

' Solamente per memorizzare e restituire tramite la funzione getPosizioneRubrica il numero di posizione rubrica che sara poi

' Confrontato tramite la clausola WHERE della query sql di modifica , in modo da

' Modificare i dati apparteneti a tale posizione rubrica

Public Sub setPosizioneRubrica(ByVal posizionerubrica As String)

' Valorizzo la variabile posizionerubrica

Me.posizioneRubrica = posizionerubrica

End Sub

End Class

 

Anche i Metodi setNomeModificato,setCognomeModificato,setTelefonoModificato,setPosizioneRubrica si aspettano un Parametro di tipo String,vedremo anche qui in seguito come valorizzare i parametri di questi metodi e in che modo saranno poi utilizzati nel FrmRubrica .


Nella Classe EliminaDatiRubrica viene dichiarata una variabile private di tipo String,un metodo Set e una Funzione get , come dimostrato nel codice che segue.

' Classe EliminaDatiRubrica

Public Class EliminaDatiRubrica

' Dichiaro una variabile di tipo string ed assegno il valore String.Empty

Dim posizioneRubricaEliminato As String = String.Empty

 

' Questa funzione quando richiamata restituisce il valore della variabile posizioneRubricaEliminato

' Valorizzata tramite l'altro metodo ovvero setPosizioneRubricaEliminato , il metodo sarà poi richiamato

' Al momento di eliminare uno o più record dal Database Rubrica aventi lo stesso numero di posizione rubrica

Public Function getPosizioneRubricaEliminato() As String

' Restituisco il valore di posizioneRubricaEliminato al chiamante

Return Me.posizioneRubricaEliminato

End Function

 

' Questa Sub quando richiamata si aspetta un parametro tipo string e

' Valorizzata tramite il parametro posizionerubricaeliminato,il metodo sarà poi richiamato

' nel caso l'utente voglia eliminare dal Database Rubrica il o i record aventi lo stesso numero di posizione rubrica

' Successivamente la variabile nome può essere recuperata tramite la funzione getPosizioneRubricaEliminato()

Public Sub setPosizioneRubricaEliminato(ByVal posizionerubricaeliminato As String)

' Valorizzo la variabile posizioneRubricaEliminato

Me.posizioneRubricaEliminato = posizionerubricaeliminato

End Sub

End Class

 

In questa classe il Metodo setPosizioneRubricaEliminato, si aspetta un parametro di tipo String. Vedremo anche qui in seguito come valorizzare i parametri di questi metodi e in che modo saranno Poi utilizzati nel FrmRubrica .


Nella Classe RubricaDAO viene dichiarato un metodo che genera la stringa di connessione al Database Rubrica , e successivamente i metodi per inserire , eliminare e modificare i dati all’interno del Database , di seguito e riportato il codice.

' Importazione dei componenti del .netframework

Imports System.Data.OleDb

' Classe RubricaDAO

Public Class RubricaDAO

Private Const Connessione As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=%1;Persist Security Info=False"

''' <summary>

''' Genera la stringa di connessione per access 2007

''' </summary>

''' <param name="NomeDataBase">Nome del database completo di path</param>

''' <param name="Password">Password del database, eventualmente passare String.Empty</param>

''' <returns>La stringa già formattata</returns>

''' <remarks></remarks>

 

Private Function GeneraStringaConnessioneAccess2007(ByVal NomeDataBase As String, ByVal Password As String) As String

Dim OutValue As String = Connessione.Replace("%1", NomeDataBase)

If Password <> "" Then

OutValue = OutValue & "Jet OLEDB:Database Password=" & Password

End If

Return OutValue

End Function

 

' Metodo InserisciDatiRubrica

' Questo metodo aspetta quattro parametri di tipo string , il nome , il cogmome, il telefono e la posizione rubrica che saranno

' Successivamente inseriti all'interno del Database Rubrica

Public Sub InserisciDatiRubrica(ByVal nome As String, ByVal cognome As String, ByVal telefono As String, ByVal posizionerubrica As String)

' Questa classe rappresenta una connessione aperta ad un origine Dati,e riceve come parametro la funzione GeneraStringaConnessioneAccess2007

' Sopraindicata, per comodità ho utilizzato un percorso fisso per l'accesso al file di Database e passato come Password una stringa vuota.

Dim connection As New OleDbConnection(GeneraStringaConnessioneAccess2007("D:\Rubrica.accdb", String.Empty))

' Tramite la classe OleDbCommand e possibile eseguire un istruzione sql o una stored procedure in relazione ad un origine dati

' In questo caso viene eseguita la query sql insert into che recupera i parametri passati dal metodo InserisciDatiRubrica ed aggiunge

' Un nuovo record al Database Rubrica

Dim cmd As New OleDbCommand("INSERT INTO TabellaRubrica (NOME, COGNOME,TELEFONO,POSIZIONE_RUBRICA) VALUES (?,?,?,?)", connection)

' Tramite la classe OleDbParameter e possibile ottenere un oggetto ed eventualmente il relativo mapping di una colonna

' Vengono qui valorizzati i campi nome,cognome,telefono e posizione_rubrica e successivamente inseriti nel Database Rubrica

cmd.Parameters.Add(New OleDbParameter("@NOME", OleDbType.WChar)).Value = nome

cmd.Parameters.Add(New OleDbParameter("@COGNOME", OleDbType.WChar)).Value = cognome

cmd.Parameters.Add(New OleDbParameter("@TELEFONO", OleDbType.WChar)).Value = telefono

cmd.Parameters.Add(New OleDbParameter("@POSIZIONE_RUBRICA", OleDbType.WChar)).Value = posizionerubrica

' Apro la connessione al Database Rubrica

connection.Open()

' Eseguo l'istruzione sql

cmd.ExecuteNonQuery()

' Chiudo la connessione con il Database Rubrica

connection.Close()

End Sub

 

' Metodo EliminaDatiRubrica

' Questo metodo aspetta un parametro di tipo string ,la posizione rubrica che sara utilizzato per verificare , individuare e

' Cancellare dalla bancadati il nome , cognome , telefono avente quella posizione di rubrica

Public Sub EliminaDatiRubrica(ByVal posizionerubricaeliminato As String)

' Questa classe rappresenta una connessione aperta ad un origine Dati,e riceve come parametro la funzione GeneraStringaConnessioneAccess2007

' Sopraindicata, per comodità ho utilizzato un percorso fisso per l'accesso al file di Database e passato come Password una stringa vuota.

Dim connection As New OleDbConnection(GeneraStringaConnessioneAccess2007("D:\Rubrica.accdb", String.Empty))

' Tramite la classe OleDbCommand e possibile eseguire un istruzione sql o una stored procedure in relazione ad un origine dati

' In questo caso viene eseguita la query sql delete che recupera il parametro passato dal metodo EliminaDatiRubrica e procede

' alla cancellazione dei dati del record dal Database Rubrica

Dim cmd As New OleDbCommand("DELETE FROM TabellaRubrica WHERE POSIZIONE_RUBRICA = '" + posizionerubricaeliminato + "'", connection)

' Apro la connessione al Database Rubrica

connection.Open()

' Eseguo l'istruzione sql

cmd.ExecuteNonQuery()

' Chiudo la connessione con il Database Rubrica

connection.Close()

End Sub

 

' Metodo ModificaDatiRubrica

' Questo metodo aspetta quattro parametri di tipo string , il nome , il cogmome, il telefono e la posizione rubrica che saranno

' Successivamente inseriti all'interno del Database Rubrica per apportare modifiche ad uno o piu' campi del Database Rubrica

Public Sub ModificaDatiRubrica(ByVal nome As String, ByVal cognome As String, ByVal telefono As String, ByVal posizionerubrica As String)

' Questa classe rappresenta una connessione aperta ad un origine Dati,e riceve come parametro la funzione GeneraStringaConnessioneAccess2007

' Sopraindicata, per comodità ho utilizzato un percorso fisso per l'accesso al file di Database e passato come Password una stringa vuota.

Dim connection As New OleDbConnection(GeneraStringaConnessioneAccess2007("D:\Rubrica.accdb", String.Empty))

' Tramite la classe OleDbCommand e possibile eseguire un istruzione sql o una stored procedure in relazione ad un origine dati

' In questo caso viene eseguita la query sql update che recupera i parametri passati dal metodo ModificaDatiRubrica e procede

' con la modifica dei dati sul record al Database Rubrica selezionato

Dim cmd As New OleDbCommand("UPDATE TabellaRubrica SET NOME = '" + nome + "' ,COGNOME = '" + cognome + "' ,TELEFONO = '" + telefono + "' WHERE POSIZIONE_RUBRICA = '" + posizionerubrica + "'", connection)

' Apro la connessione al Database Rubrica

connection.Open()

' Eseguo l'istruzione sql

cmd.ExecuteNonQuery()

' Chiudo la connessione con il Database Rubrica

connection.Close()

End Sub

End Class

 


Arrivati a questo punto resta la classe Gestione Rubrica, in questa classe e contenuto Un riferimento ad un oggetto di tipo RubricaDAO, che poi a sua volta implementerà i Suoi metodi mediante le sub inserisciDatiRubrica, modificaDatiRubrica, eliminaDatiRubrica, per una maggiore chiarezza guardare il codice che segue.

' Classe FrmRubrica

Public Class GestioneRubrica

' Istanzio un nuovo oggetto di tipo InserisciDatiRubrica

Dim RubricaDAO As New RubricaDAO

 

' Metodo inserisciDatiRubrica

' Questo metodo aspetta quattro parametri di tipo string , il nome , il cogmome, il telefono e la posizione rubrica che saranno

' Successivamente inseriti all'interno del Database Rubrica

Public Sub inserisciDatiRubrica(ByVal nome As String, ByVal cognome As String, ByVal telefono As String, ByVal posizionerubrica As String)

' Richiamo il metodo InserisciDatiRubrica della classe RubricaDAO

' Anche questo metodo aspetta quattro parametri di tipo string , il nome , il cogmome, il telefono e la posizione rubrica che saranno

' Successivamente inseriti all'interno del Database Rubrica

RubricaDAO.InserisciDatiRubrica(nome, cognome, telefono, posizionerubrica)

End Sub

 

' Metodo rimuoviDatiRubrica

' Questo metodo aspetta un parametro di tipo string ,la posizione rubrica che sara utilizzato per verificare , individuare e

' Cancellare dalla bancadati il nome , cognome , telefono avente quella posizione di rubrica

Public Sub rimuoviDatiRubrica(ByVal posizionerubrica As String)

' Richiamo il metodo EliminaDatiRubrica della classe RubricaDAO

' Anche questo metodo aspetta un parametro di tipo string ,la posizione rubrica che sara utilizzato per verificare , individuare e

' Cancellare dalla bancadati il nome , cognome , telefono avente quella posizione di rubrica

RubricaDAO.EliminaDatiRubrica(posizionerubrica)

End Sub

 

' Metodo modificaDatiRubrica

' Questo metodo aspetta quattro parametri di tipo string , il nome , il cogmome, il telefono e la posizione rubrica che saranno

' Successivamente inseriti all'interno del Database Rubrica per apportare modifiche ad uno o piu' campi del Database Rubrica

Public Sub modificaDatiRubrica(ByVal nome As String, ByVal cognome As String, ByVal telefono As String, ByVal posizionerubrica As String)

' Metodo ModificaDatiRubrica

' Anche questo metodo aspetta quattro parametri di tipo string , il nome , il cogmome, il telefono e la posizione rubrica che saranno

' Successivamente inseriti all'interno del Database Rubrica per apportare modifiche ad uno o piu' campi del Database Rubrica

RubricaDAO.ModificaDatiRubrica(nome, cognome, telefono, posizionerubrica)

End Sub

 

La sub trovaDatiRubrica e stata realizzata mediante la procedura guidata query SQL che vedremo in seguito e restituisce un datatable che visualizza il risultato della                                                                                                                                                                               Query di ricerca , e possibile filtrare i dati con ricerca per nome,cognome o telefono.

' Metodo trovaDatiRubrica

' Questo metodo aspetta due parametri di tipo string ricerca e tiporicerca , il parametro ricerca si riferisce ad un qualsiasi

' Nominativo presente nel Database Rubrica , può essere un nome , un cognome o numero di telefono , il parametro tiporicerca

' Serve per effettuare una ricerca all'interno del DataBase.

' In questo esempio e possibile effettuare il tiporicerca per : NOME , COGNOME O TELEFONO

Public Sub trovaDatiRubrica(ByVal ricerca As String, ByVal tiporicerca As String)

' Eseguo il costrutto SelectCase su parametro tiporicerca

Select Case tiporicerca

' Se tiporicerca ha come valore NOME

Case "NOME"

' Prova

Try

' Esegue la query di ricerca su TabellaRubricaTableAdapter

' Questa query aspetta come parametro un datatable ed un secondo parametro che si riferisce a cosa si vuole

' Cercare all'interno del Database Rubrica , in questo caso un nome

FrmRubrica.TabellaRubricaTableAdapter.SetNome(FrmRubrica.RubricaDataSet.TabellaRubrica, ricerca)

' Nel caso di eccezzione

Catch ex As System.Exception

' Visualizzo un messaggio all'utente con l'eccezzione sollevata

System.Windows.Forms.MessageBox.Show(ex.Message)

End Try

' Se tiporicerca ha come valore COGNOME

Case "COGNOME"

' Prova

Try

' Esegue la query di ricerca su TabellaRubricaTableAdapter

' Questa query aspetta come parametro un datatable ed un secondo paremetro che si riferisce a cosa si vuole

' Cercare all'interno del Database Rubrica , in questo caso un cognome

FrmRubrica.TabellaRubricaTableAdapter.SetCognome(FrmRubrica.RubricaDataSet.TabellaRubrica, ricerca)

' Nel caso di eccezzione

Catch ex As System.Exception

' Visualizzo un messaggio all'utente con l'eccezzione sollevata

System.Windows.Forms.MessageBox.Show(ex.Message)

End Try

' Se tiporicerca ha come valore TELEFONO

Case "TELEFONO"

' Prova

Try

' Esegue la query di ricerca su TabellaRubricaTableAdapter

' Questa query aspetta come parametro un datatable ed un secondo paremetro che si riferisce a cosa si vuole

' Cercare all'interno del Database Rubrica , in questo caso un telefono

FrmRubrica.TabellaRubricaTableAdapter.SetTelefono(FrmRubrica.RubricaDataSet.TabellaRubrica, ricerca)

' Nel caso di eccezzione

Catch ex As System.Exception

' Visualizzo un messaggio all'utente con l'eccezzione sollevata

System.Windows.Forms.MessageBox.Show(ex.Message)

End Try

End Select

End Sub

End Class


Per completare la parte inerente al codice rimane la classe FrmRubrica , vedere il codice Sottostante.

' Classe FrmRubrica

Public Class FrmRubrica

' Evento load del form FrmRubrica

Private Sub FrmRubrica_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

' Disabilito pulsante btnElimina

btnElimina.Enabled = False

' Disabilito pulsante btnModifica

btnModifica.Enabled = False

' Aggiorno la visualizzazione di TabellaRubrica sul DataGridView1

Me.TabellaRubricaTableAdapter.Fill(Me.RubricaDataSet.TabellaRubrica)

End Sub

 

L’ evento btnInserisci al suo interno dichiara un oggetto di tipo InserisciDatiRubrica e GestioneRubrica che espongono le sub di tipo set e le funzioni get , tramite le sub set e possibile memorizzare i dati immessi dell’utente nelle caselle di testo , le funzioni get passano poi i dati al metodo inserisciDatiRubrica , per la successiva immissione dei dati all’interno del Database Rubrica

 

' Evento Click del pulsante btnInserisci

Private Sub btnInserisci_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInserisci.Click

' Se txtPosizioneRubrica non contiene alcun carattere

If Me.txtPosizioneRubrica.Text = String.Empty Then

' Avviso l'utente che va inserito un numero di posizione rubrica inerente al nome,cognome e telefono

MessageBox.Show("Inserisci un numero di posizione rubrica", Application.ProductName.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Information)

' Altrimenti

Else

' Istanzio un nuovo oggetto di tipo InserisciDatiRubrica

Dim idr As New InserisciDatiRubrica

' Richiamo la sub setNome della classe InserisciDatiRubrica

' passando come parametro il contenuto di txtNome.Text

idr.setNome(Me.txtNome.Text)

' Richiamo la sub setCognome della classe InserisciDatiRubrica

' passando come parametro il contenuto di txtCognome.Text

idr.setCognome(Me.txtCognome.Text)

' Richiamo la sub setNumeroTelefono della classe InserisciDatiRubrica

' passando come parametro il contenuto di txtTelefono.Text

idr.setNumeroTelefono(Me.txtTelefono.Text)

' Richiamo la sub setPosizioneRubrica della classe InserisciDatiRubrica

' passando come parametro il contenuto di txtPosizioneRubrica.Text

idr.setPosizioneRubrica(Me.txtPosizioneRubrica.Text)

' Istanzio un nuovo oggetto di tipo GestioneRubrica

Dim gr As New GestioneRubrica

' Richiamo il metodo inserisciDatiRubrica() della classe gestioneRubrica

' ed implemento i parametri del metodo mediante le funzioni get della Classe InserisciDatiRubrica

' Queste funzioni restituiscono i valori memorizzati in precedenza mediante le sub Set

gr.inserisciDatiRubrica(idr.getNome(), idr.getCognonme(), idr.getNumeroTelefono(), idr.getPosizioneRubrica())

' Aggiorno la visualizzazione di TabellaRubrica sul DataGridView1

Me.TabellaRubricaTableAdapter.Fill(Me.RubricaDataSet.TabellaRubrica)

' Cancello il contenuto di txtNome

txtNome.Clear()

' Cancello il contenuto di txtCognome

txtCognome.Clear()

' Cancello il contenuto di txtTelefono

txtTelefono.Clear()

' Cancello il contenuto di txtPosizioneRubrica

txtPosizioneRubrica.Clear()

End If

End Sub

 

L’ evento btnElimina al suo interno dichiara un oggetto di tipo EliminaDatiRubrica e GestioneRubrica ed esponongono le sub di tipo set e la funzione get , tramite la sub set e possibile                                                                                                                               Memorizzare il numero di posizione rubrica , le funzione get passa poi il dato al metodo  eliminaDatiRubrica , per l’eventuale rimozione del record dal Database Rubrica avente lo stesso numero di posizone rubrica

 

' Evento Click del pulsante btnElimina

Private Sub btnElimina_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnElimina.Click

' Istanzio un nuovo oggetto di tipo EliminaDatiRubrica

Dim edr As New EliminaDatiRubrica

' Richiamo la sub setPosizioneRubricaEliminato della classe EliminaDatiRubrica

' passando come parametro il contenuto di txtEliminaPosizioneRubrica.Text

edr.setPosizioneRubricaEliminato(Me.txtEliminaPosizioneRubrica.Text)

' Istanzio un nuovo oggetto di tipo GestioneRubrica

Dim gr As New GestioneRubrica

' Richiamo il metodo rimuoviDatiRubrica() della classe gestioneRubrica

' ed implemento i parametri del metodo mediante la funziona get della Classe EliminaDatiRubrica

' Questa funzione restituisce il valore memorizzato in precedenza mediante le sub Set

gr.rimuoviDatiRubrica(edr.getPosizioneRubricaEliminato())

' Aggiorno la visualizzazione di TabellaRubrica sul DataGridView1

Me.TabellaRubricaTableAdapter.Fill(Me.RubricaDataSet.TabellaRubrica)

' Abilito pulsante btnElimina

btnElimina.Enabled = True

' Cancello il contenuto di txtEliminaNome

txtEliminaNome.Clear()

' Cancello il contenuto di txtEliminaCognome

txtEliminaCognome.Clear()

' Cancello il contenuto di txtEliminaTelefono

txtEliminaTelefono.Clear()

' Cancello il contenuto di txtEliminaPosizioneRubrica

txtEliminaPosizioneRubrica.Clear()

' Cancello il contenuto di txtNomeAttuale

txtNomeAttuale.Clear()

' Cancello il contenuto di txtCognomeAttuale

txtCognomeAttuale.Clear()

' Cancello il contenuto di txtTelefonoAttuale

txtTelefonoAttuale.Clear()

' Cancello il contenuto di txtPosizioneRubricaAttuale

txtPosizioneRubricaAttuale.Clear()

End Sub

 

L’ evento btnModifica al suo interno dichiara un oggetto di tipo ModificaDatiRubrica e GestioneRubrica ed espongono le sub di tipo set e le funzioni get , tramite le sub set e possibile memorizzare i dati selezionati dall’utente mediante il datagridview, le funzioni get passano poi i dati al metodo modificaDatiRubrica , per la successiva modifica dei dati di uno o più campi del record selezionato tramite il datagridview.

' Evento Click del pulsante btnModifica

Private Sub btnModifica_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnModifica.Click

' Istanzio un nuovo oggetto di tipo ModificaDatiRubrica

Dim mdr As New ModificaDatiRubrica

' Richiamo la sub setNomeModificato della classe ModificaDatiRubrica

' passando come parametro il contenuto di txtNomeAttuale.Text

mdr.setNomeModificato(Me.txtNomeAttuale.Text)

' Richiamo la sub setCognomeModificato della classe ModificaDatiRubrica

' passando come parametro il contenuto di txtCognomeAttuale.Text

mdr.setCognomeModificato(Me.txtCognomeAttuale.Text)

' Richiamo la sub setNumeroTelefono della classe ModificaDatiRubrica

' passando come parametro il contenuto di txtTelefonoAttuale.Text

mdr.setNumeroTelefono(Me.txtTelefonoAttuale.Text)

' Richiamo la sub setPosizioneRubrica della classe ModificaDatiRubrica

' passando come parametro il contenuto di txtPosizioneRubricaAttuale.Text

mdr.setPosizioneRubrica(Me.txtPosizioneRubricaAttuale.Text)

' Istanzio un nuovo oggetto di tipo GestioneRubrica

Dim gr As New GestioneRubrica

' Richiamo il metodo modificaDatiRubrica della classe gestioneRubrica

' ed implemento i parametri del metodo mediante le funzioni get della Classe ModificaDatiRubrica

' Queste funzioni restituiscono i valori memorizzati in precedenza mediante le sub Set

gr.modificaDatiRubrica(mdr.getNomeModificato(), mdr.getCognonmeModoficato(), mdr.getNumeroTelefonoModificato(), mdr.getPosizioneRubrica())

' Aggiorno la visualizzazione di TabellaRubrica sul DataGridView1

Me.TabellaRubricaTableAdapter.Fill(Me.RubricaDataSet.TabellaRubrica)

' Abilito pulsante btnModifica

btnModifica.Enabled = True

' Cancello il contenuto di txtNomeAttuale

txtNomeAttuale.Clear()

' Cancello il contenuto di txtCognomeAttuale

txtCognomeAttuale.Clear()

' Cancello il contenuto di txtTelefonoAttuale

txtTelefonoAttuale.Clear()

' Cancello il contenuto di txtPosizioneRubricaAttuale

txtPosizioneRubricaAttuale.Clear()

' Cancello il contenuto di txtEliminaNome

txtEliminaNome.Clear()

' Cancello il contenuto di txtEliminaCognome

txtEliminaCognome.Clear()

' Cancello il contenuto di txtEliminaTelefono

txtEliminaTelefono.Clear()

' Cancello il contenuto di txtEliminaPosizioneRubrica

txtEliminaPosizioneRubrica.Clear()

End Sub

 

L’ evento btnRicerca al suo interno dichiara un oggetto di tipo GestioneRubrica , avente un metodo inserisciDatiRubrica , che vuole due parametri di tipo String , la ricerca ovvero ciò che l’utente                                                                                                             Intende trovare all’interno del Database Rubrica e il tipo di ricerca se per nome,cognome o telefono.

' Evento Click del pulsante btnRicerca

Private Sub btnRicerca_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRicerca.Click

' Istanzio un nuovo oggetto di tipo GestioneRubrica

Dim gr As New GestioneRubrica

' Richiamo il metodo trovaDatiRubrica() della classe gestioneRubrica

' passandogli due parametri di tipo string , il primo parametro si riferisce a cosa l'utente

' deve e vuole cercare all'interno del Database , il secondo parametro e il tipo di ricerca per nome,cognome o telefono

gr.trovaDatiRubrica(Me.txtRicerca.Text, Me.cbTipoRicerca.Text)

End Sub

 

' Evento Click del pulsante btnAggiorna

Private Sub btnAggiorna_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAggiorna.Click

' Aggiorno la visualizzazione di TabellaRubrica sul DataGridView1

Me.TabellaRubricaTableAdapter.Fill(Me.RubricaDataSet.TabellaRubrica)

End Sub

 

' Evento Click del pulsante btnEsciToolStripMenuItem

Private Sub EsciToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EsciToolStripMenuItem.Click

' Chiudo l'applicazione Rubrica

Application.Exit()

End Sub

 

' Evento RowHeaderMouseClick di DataGridView1

Private Sub DataGridView1_RowHeaderMouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles dtgRubrica.RowHeaderMouseClick

' Questa parte di codice serve per selezionare i dati da un record e successivamente l'utente

' può decidere se eliminare o modificare uno o più campi del record , bisogna per fare ciò

' impostare la proprietà Multiselect del datagridview a false

' Prova

Try

' Assegno a txtNomeAttuale il contenuto della cella NOMEDataGridViewTextBoxColumn della riga selezionata

Me.txtNomeAttuale.Text = Me.dtgRubrica.Rows(Me.dtgRubrica.CurrentRow.Index).Cells("NOMEDataGridViewTextBoxColumn").Value

' Assegno a txtCognomeAttuale il contenuto della cella COGNOMEDataGridViewTextBoxColumn della riga selezionata

Me.txtCognomeAttuale.Text = Me.dtgRubrica.Rows(Me.dtgRubrica.CurrentRow.Index).Cells("COGNOMEDataGridViewTextBoxColumn").Value

' Assegno a txtTelefonoAttuale il contenuto della cella TELEFONODataGridViewTextBoxColumn della riga selezionata

Me.txtTelefonoAttuale.Text = Me.dtgRubrica.Rows(Me.dtgRubrica.CurrentRow.Index).Cells("TELEFONODataGridViewTextBoxColumn").Value

' Assegno a txtPosizioneRubricaAttuale il contenuto della cella POSIZIONERUBRICADataGridViewTextBoxColumn della riga selezionata

Me.txtPosizioneRubricaAttuale.Text = Me.dtgRubrica.Rows(Me.dtgRubrica.CurrentRow.Index).Cells("POSIZIONERUBRICADataGridViewTextBoxColumn").Value

' Abilito pulsante btnModifica

btnModifica.Enabled = True

' Assegno a txtEliminaNome il contenuto della cella NOMEDataGridViewTextBoxColumn della riga selezionata

Me.txtEliminaNome.Text = Me.dtgRubrica.Rows(Me.dtgRubrica.CurrentRow.Index).Cells("NOMEDataGridViewTextBoxColumn").Value

' Assegno a txtEliminaCognome il contenuto della cella COGNOMEDataGridViewTextBoxColumn della riga selezionata

Me.txtEliminaCognome.Text = Me.dtgRubrica.Rows(Me.dtgRubrica.CurrentRow.Index).Cells("COGNOMEDataGridViewTextBoxColumn").Value

' Assegno a txtEliminaTelefono il contenuto della cella TELEFONODataGridViewTextBoxColumn della riga selezionata

Me.txtEliminaTelefono.Text = Me.dtgRubrica.Rows(Me.dtgRubrica.CurrentRow.Index).Cells("TELEFONODataGridViewTextBoxColumn").Value

' Assegno a txtEliminaPosizioneRubrica il contenuto della cella POSIZIONERUBRICADataGridViewTextBoxColumn della riga selezionata

Me.txtEliminaPosizioneRubrica.Text = Me.dtgRubrica.Rows(Me.dtgRubrica.CurrentRow.Index).Cells("POSIZIONERUBRICADataGridViewTextBoxColumn").Value

' Abilito pulsante btnElimina

btnElimina.Enabled = True

' Nel caso di eccezzione

Catch ex As Exception

' Visualizzo un messaggio all'utente ad indicare che la riga del datagridview selezionata e priva di dati

MessageBox.Show("Nessun nome,cognome o indirizzo selezionati", Application.ProductName.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Information)

End Try

End Sub

End Class


Con la classe FrmRubrica abbiamo terminato la parte di codice , rimangono ancora alcune cosa da Fare, creare una connessione ad un origine dati. Torniamo all’ide di VisualStudio e selezioniamo Esplora Server , o tramite Menu Visualizza selezioniamo Esplora Server,tasto destro del Mouse su Connessione dati e selezioniamo Aggiungi connessione ,viene visualizzata la finestra di dialogo seguente.

 

clip_image018

Nella sezione origine dati impostare tramite il pulsante modifica il provider File di DataBase Microsoft Access come mostrato in figura.

 

clip_image020

Confermare con il pulsante ok. Il passo successivo e selezionare il File Access. Nella sezione Proprietà Connessione premere il pulsante Sfoglia , cercate e selezionate il File di DataBase Rubrica.accdb che avete creato precedentemente come mostrato in figura.

 

clip_image022

Effettuato questo passaggio dovreste avere nella casella di testo di fianco al pulsante sfoglia Il percorso dove risiede il File di DataBase Access 2007 , premete il pulsante test connessione e Successivamente ok.

Se ora guardiamo in Esplora Server ed espandiamo il nodo Connessioni dati dovremmo avere disponibile La connessione al Database con la relativa tabella ed i suoi campi.

 

clip_image024

Fatto questo bisogna creare un dataset , lo facciamo passo per passo. Selezioniamo Origini dati , se non e disponibile nell’ide dal menu Dati selezioniamo Mostra origini dati.

Selezioniamo il pulsante Nuova origine dati , verrà visualizzata un finestra di dialogo, lasciamo Selezionata la scelta DataBase e premiamo il pulsante avanti. Al prossimo passo lasciamo selezionato DataSet e premiamo ancora il pulsante avanti, alla terza finestra di dialogo selezioniamo il pulsante Nuova connessione e seguiamo la procedura eseguita precedentemente per la creazione alla connessione dati.

 

clip_image026

Eseguita la procedura ci verrà mostrata una finestra di dialogo che chiede se vogliamo Includere nel progetto il file di Database , scegliamo no.

 

clip_image028

La finestra di dialogo successiva ci chiede se vogliamo salvare la stringa di connessione al Database Rubrica nelle impostazioni della nostra applicazione, deselezioniamo la chekbox e premiamo il pulsante avanti. Nella finestra dialogo che segue diamo un nome al Dataset e lo chiamiamo RubricaDataSet e Inseriamo il segno di spunta sulla chekbox Tabelle. Terminata questa procedura premiamo il pulsante fine come mostrato in figura.

 

clip_image030

A questo punto nella finestra Origini dati dobbiamo avere un DataSet nominato RubricaDataSet Da poter cosi agganciare all’origina dati del DatagridView. Ne form FrmRubrica selezioniamo il DataGridView premiamo il tast F4 e cerchiamo la proprietà DataSource. Nella casella a discesa selezioniamo l’origine dati come mostrato in figura e selezioniamo TabellaRubrica.

 

clip_image032

Abbiamo adesso assegnato un origine dati al DatagridView, l’altra cosa da fare e generare le query Di ricerca mediante la procedura guidata , il codice che ho indicato in precedenza e stato generato Mediante questa procedura , ho poi modificato e spostato tutto nella classe GestioneRubrica , ma vediamo di procedere passo per passo.

Torniamo alla visualizzazione del From FrmRubrica , selezioniamo TalellaRubricaTableAdapter e Posizioniamo il mouse sulla freccetta in alto a destra che compare dopo che abbiamo selezionato Il controllo e scegliamo modifica query in progettazione dataset. Verrà visualizzata questa finestra

 

clip_image034

Come su può notare esistono già tre query denominate SetNome, SetCognome,SetTelefono , sono state Create mediante la procedura guidata.

Selezioniamo con il mouse la sezione TabellaRubricaTableAdapter e click con il tasto destro del mouse. Selezioniamo aggiungi query ed alla prima finestra di dialogo premiano il pulsante avanti, nella Successiva finestra di dialogo lasciamo selezionata select che restituisce righe. Nella finestra di dialogo successiva dobbiamo costruirci la query , cominciamo da quella di ricerca Per nome. Inseriamo all’interno della casella di testo queste parole WHERE NOME = ? come mostrato in figura.

 

clip_image036

Eseguito questo premiamo il tasto generatore di query per verificare se non abbiamo commesso Errori di sintassi , si aprirà un ulteriore finestra di dialogo come in figura , premiamo esegui query e successivamente il tasto ok due volte.

 

clip_image038

Se non ci sono stati errori torneremo alla visualizzazione della figura precedente a questa. Premiamo il tasto avanti e verrà visualizzata questa finestra di dialogo mettiamo il segno Di spunta sulle checkbox Riempi un datatable e restituisci un datatable , questo serve una Volta eseguita la query a visualizzare solamente i dati con il nome che abbiamo specificato Per la ricerca , e restituisce un datatable con all’interno il risultato della query. Di fianco alla voce Riempi un datatable inseriamo il nom SetNome , mentre di fianco alla voce Restituisci un datatable GetNome e premiamo il pulsante avanti.

 

 

clip_image040

Se tutto e stato eseguito correttamente avremo questa finestra di dialogo e premiamo il pulsante fine.

 

clip_image042

Bisogna poi ripetere la procedura per generare la query di ricerca per cognome e per telefono. Arrivati a questo punto bisogna perché vengano eseguite assegnarle a TabellaRubricaTableAdapter. Torniamo alla visualizzazione del form FrmRubrica , selezioniamo con il mouse TabellaRubricaTableAdapter , tasto destro del mouse e selezioniamo aggiungi query.

Si aprirà la seguente finestra di dialogo e selezioniamo aggiungi query esistente e iniziamo con L’inserire la query SetNome , selezionata la query dalla casella a discesa premiamo il pulsante ok.

 

clip_image044

Una volta inserita la query dovrà inserirsi all’interno del form un toolstrip con una casella di testo e un pulsante , se le inserite tutte avrete 3 toolstrip, una per query , e se guardate il Codice all’interno della classe FrmRubrica troverete qualcosa del genere.

Private Sub SetNomeToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SetNomeToolStripButton.Click

Try

Me.TabellaRubricaTableAdapter.SetNome(Me.RubricaDataSet.TabellaRubrica, NOMEToolStripTextBox.Text)

Catch ex As System.Exception

System.Windows.Forms.MessageBox.Show(ex.Message)

End Try

End Sub

Questo codice viene inserito automaticamente dopo l’inserimento delle query. Io ho modificato come avrete notato guardando il codice della classe GestioneRubrica, ho inserito Una combobox con una casella di testo ed un pulsante sul form , mediante la combobox seleziono il Tipo di ricerca e nella casella di testo inserisco ciò che voglio trovare con un pulsante solo. E chiaro che se preferite avere tre toolstrip siete liberissimi di farlo.

A questo punto possiamo provare l’applicazione , se siete in possesso di Microsoft Access 2007 Potete iniziare a provare l’applicativo , diversamente dovrete scaricare ed installare il motoreDi Database chiamato AccessDatabaseEngine , lo trovate a questo indirizzo http://www.microsoft.com/downloads/details.aspx?FamilyID=7554F536-8C28-4598-9B72-EF94E038C891&displayLang=it

Premiamo il tasto F5 e iniziamo la compilazione , consiglio di compilare x86. Questo e un esempio del form dopo aver inserito i dati.

 

clip_image046

Per inserire dati in un record nella sezione inserisci dati , digitate un nome ,cognome,telefono e Posizione rubrica e successivamente premete il pulsante inserisci. Per modificare o eliminare un record selezionatelo mediante il datagridview , i dati del record Selezionato saranno visualizzati nelle caselle di testo della sezione eliminazione dati e modifica dati come in figura.

 

clip_image048

Qui potete scegliere se modificare o eliminare il record corrente mrdiante i pulsanti elimina o modifica.

Nella sezione ricerca e possibile effettuare le query trattate in precedenza, mediante il combobox E possibile selezionare il tipo di ricerca se per nome,cognome o telefono. Selezionato il tipo di ricerca digitare un nome, cognome o telefono nella casella di testo e mediante il pulsante trova sarà effettuata la ricerca desiderata.

 

clip_image050

Il pulsante aggiorna serve per ripristinare la normale visualizzazione dei dati dopo una ricerca.


Spero che questo articolo possa aiutare ed essere utile a coloro che hanno avuto o che anno incontrato le stesse difficoltà che ho comunque incontrato io personalmente mentre sviluppavo L’applicativo in questione , e mi scuso ancora qualora ci fossero aspetti poco chiari o per niente ed ancora ci fossero cose poco sensate , corrette o insensate per qualcuno.

Carmelo La Monica.

Print | posted on domenica 9 gennaio 2011 00:17 |

Feedback

No comments posted yet.

Post Comment

Title  
Name  
Email
Url
Comment   
Please add 2 and 3 and type the answer here:

Powered by:
Powered By Subtext Powered By ASP.NET