コード例 #1
0
        // --- TRASFERISCE I DATI DAL DATABASE ALLA LISTA ---
        public void popolaLista()
        {
            SchedaNuoto     nuoto     = null; // lavoro: oggetto scheda nuoto
            List <string[]> risultati = null; // lavoro: memorizza i record del database

            risultati = GestioneDB.eseguiSelect("SELECT * " +
                                                "FROM Atleti as A LEFT JOIN Nuoto as N " +
                                                "WHERE A.ID = N.IdAtleta " +
                                                "ORDER BY N.DataN DESC");

            if (risultati.Count > 0)
            {
                LNuoto.Clear(); // inizializza la scheda nuoto

                foreach (string[] record in risultati)
                {
                    int Id = int.Parse(record[0]),               // lavoro: id atleta
                                  Durata = int.Parse(record[5]); // lavoro: durata della scheda
                    string Istruttore    = record[6],            // lavoro: nome dell'istruttore
                           Data          = record[16];           // lavoro: data della scheda

                    nuoto = new SchedaNuoto(Id, Durata, Istruttore, Data);

                    // inserisce i dati nell'oggetto nuoto
                    nuoto.inserisciCrawl(int.Parse(record[7]), int.Parse(record[11]));
                    nuoto.inserisciDorso(int.Parse(record[8]), int.Parse(record[12]));
                    nuoto.inserisciRana(int.Parse(record[9]), int.Parse(record[13]));
                    nuoto.inserisciDelfino(int.Parse(record[10]), int.Parse(record[14]));

                    // inserisce l'oggetto nella lista schede
                    LNuoto.Add(nuoto);
                }
            }
        }
コード例 #2
0
        // --- ELIMINA UN ATLETA ---
        public void eliminaAtleta(int id) // input: id atleta
        {
            bool   errore;                // lavoro: flag per errore
            string elimina = "N";         // lavoro: conferma eliminazione
            int    indice  = -1;          // lavoro: posizione dell'oggetto in lista

            Console.WriteLine("*** Elimina Atleta ***" + Environment.NewLine);

            foreach (Atleta a in LAtleti)
            {
                if (a.Id == id)
                {
                    do
                    {
                        errore = false;

                        try
                        {
                            Console.WriteLine("Eliminare l'atleta? S/N");
                            elimina = Console.ReadLine();

                            if (!(elimina is string))
                            {
                                throw new Exception("Inserire una lettera, 'S' o 'N'");
                            }

                            if (elimina == "S" || elimina == "s")
                            {
                                // elimina l'atleta dal database
                                if (GestioneDB.eseguiQuery("DELETE FROM Atleti WHERE ID = " + id))
                                {
                                    // salva la posizione dell'oggetto in lista
                                    indice = LAtleti.IndexOf(a);
                                    Console.WriteLine("Atleta eliminato con successo" + Environment.NewLine);
                                }
                            }
                        }
                        catch (Exception e) // eccezione
                        {
                            errore = true;
                            Console.WriteLine("Errore di input: " + e);
                        }
                    } while (errore);
                }
            }

            if (indice > -1) // rimuove l'oggetto dalla lista
            {
                LAtleti.RemoveAt(indice);
            }
            else if (elimina == "S" || elimina == "s")
            {
                Console.WriteLine("Atleta non presente" + Environment.NewLine);
            }

            Console.WriteLine(Environment.NewLine + "Premere un tasto per continuare...");
            Console.ReadKey();
            Console.Clear();
        }
コード例 #3
0
        // --- CREA UNA SCHEDA ---
        public void creaScheda(int id)              // input: id atleta
        {
            bool        errore = false;             // lavoro: flag in caso di eccezione
            SchedaNuoto nuoto  = new SchedaNuoto(); // lavoro: oggetto contenente le info della scheda

            Console.WriteLine("*** Crea una nuova scheda nuoto ***"
                              + Environment.NewLine
                              + Environment.NewLine);

            do
            {
                // downcasting dell'oggetto Scheda
                nuoto          = (SchedaNuoto)inputDati();
                nuoto.Idatleta = id;

                // inserisce i dati nel database
                if (GestioneDB.eseguiQuery("INSERT INTO Nuoto (Durata," +
                                           "Istruttore," +
                                           "SerieCrawl," +
                                           "SerieDorso," +
                                           "SerieRana," +
                                           "SerieDelfino," +
                                           "RipCrawl," +
                                           "RipDorso," +
                                           "RipRana," +
                                           "RipDelfino," +
                                           "IdAtleta) VALUES (" +
                                           nuoto.Durata + ", '" +
                                           nuoto.Istruttore + "', " +
                                           nuoto.Crawl.serie + ", " +
                                           nuoto.Dorso.serie + ", " +
                                           nuoto.Rana.serie + ", " +
                                           nuoto.Delfino.serie + ", " +
                                           nuoto.Crawl.ripetizioni + ", " +
                                           nuoto.Dorso.ripetizioni + ", " +
                                           nuoto.Rana.ripetizioni + ", " +
                                           nuoto.Delfino.ripetizioni + ", " +
                                           id + ")"))
                {
                    // aggiunge l'oggetto alla lista
                    LNuoto.Add(nuoto);
                    popolaLista();
                    Console.WriteLine("Inserimento effettuato" + Environment.NewLine);
                }
                else
                {
                    errore = true;
                    Console.WriteLine(Environment.NewLine + "Errore di inserimento" + Environment.NewLine);
                }

                Console.WriteLine(Environment.NewLine + "Premere un tasto per continuare...");
                Console.ReadKey();
            } while (errore);
        }
コード例 #4
0
        // --- MODIFICA UN ATLETA ---
        public void modificaAtleta(int id) // input: id atleta
        {
            bool trovato  = false,         // output: flag in caso di atleta presente
                 errore   = false;         // lavoro: flag in caso di eccezione
            Atleta atleta = new Atleta();  // lavoro: oggetto d'appoggio

            Console.WriteLine("*** Modifica Atleta ***" + Environment.NewLine + Environment.NewLine);

            foreach (Atleta a in LAtleti)
            {
                if (a.Id == id)
                {
                    trovato = true;
                    do
                    {
                        errore = false;

                        // prende i dati da tastiera
                        atleta = inputDati();

                        // aggiorna dati dell'atleta nel database
                        if (GestioneDB.eseguiQuery("UPDATE Atleti SET" +
                                                   " Nome = '" + atleta.Nome +
                                                   "', Cognome = '" + atleta.Cognome +
                                                   "', Eta = " + atleta.Eta +
                                                   " WHERE ID = " + a.Id))
                        {
                            a.Nome    = atleta.Nome;
                            a.Cognome = atleta.Cognome;
                            a.Eta     = atleta.Eta;
                            Console.WriteLine("Aggiornamento effettuato" + Environment.NewLine);
                        }

                        else
                        {
                            errore = true;
                            Console.WriteLine("Errore di inserimento" + Environment.NewLine);
                        }
                    } while (errore);
                }
            }

            if (!trovato)
            {
                Console.WriteLine("Non esiste un atleta con questo nome");
            }

            Console.WriteLine("Premere un tasto per continuare...");
            Console.ReadKey();
        }
コード例 #5
0
        // --- ID ULTIMO UTENTE INSERITO ---
        public int ultimoInserito(Atleta a)
        {
            int             id = 0;
            List <string[]> risultati;

            risultati = GestioneDB.eseguiSelect("SELECT ID FROM Atleti" +
                                                " WHERE Nome = '" + a.Nome +
                                                "' AND Cognome = '" + a.Cognome +
                                                "' ORDER BY data DESC " +
                                                " LIMIT 1");

            if (risultati.Count > 0)
            {
                foreach (string[] record in risultati)
                {
                    id = int.Parse(record[0]);
                }
            }

            return(id);
        }
コード例 #6
0
        // --- TRASFERISCE I DATI DAL DATABASE ALLA LISTA ---
        public void popolaLista()
        {
            Atleta          atleta = null; // lavoro: oggetto atleta
            List <string[]> risultati;     // lavoro: memorizza i record del database

            risultati = GestioneDB.eseguiSelect("SELECT * FROM Atleti");

            if (risultati.Count > 0)
            {
                foreach (string[] record in risultati)
                {
                    atleta = new Atleta();

                    atleta.Id      = int.Parse(record[0]);
                    atleta.Nome    = record[1];
                    atleta.Cognome = record[2];
                    atleta.Eta     = int.Parse(record[3]);

                    // inserisce l'oggetto nella lista
                    LAtleti.Add(atleta);
                }
            }
        }
コード例 #7
0
        // --- TRASFERISCE I DATI DAL DATABASE ALLA LISTA
        public void popolaLista()
        {
            SchedaPalestra  palestra;         // lavoro: oggetto scheda palestra
            List <string[]> risultati = null; // lavoro: memorizza i record del database

            risultati = GestioneDB.eseguiSelect("SELECT * " +
                                                "FROM Atleti as A LEFT JOIN Palestra as P " +
                                                "WHERE A.ID = P.IdAtleta " +
                                                "ORDER BY P.DataP DESC");

            if (risultati.Count > 0)
            {
                LPalestra.Clear(); // inizializza la lista

                foreach (string[] record in risultati)
                {
                    int Id = int.Parse(record[0]),               // lavoro: id atleta
                                  Durata = int.Parse(record[5]); // lavoro: durata della scheda
                    string Istruttore    = record[6],            // lavoro: nome dell'istruttore
                           Data          = record[22];           // lavoro: data della scheda

                    palestra = new SchedaPalestra(Id, Durata, Istruttore, Data);

                    // inserisce i dati nell'oggetto palestra
                    palestra.inserisciDeltoidi(int.Parse(record[7]), int.Parse(record[14]));
                    palestra.inserisciTricipiti(int.Parse(record[8]), int.Parse(record[15]));
                    palestra.inserisciBicipiti(int.Parse(record[9]), int.Parse(record[16]));
                    palestra.inserisciDorsali(int.Parse(record[10]), int.Parse(record[17]));
                    palestra.inserisciPettorali(int.Parse(record[11]), int.Parse(record[18]));
                    palestra.inserisciAddominali(int.Parse(record[12]), int.Parse(record[19]));
                    palestra.inserisciGambe(int.Parse(record[13]), int.Parse(record[20]));

                    // inserisce l'oggetto nella lista schede
                    LPalestra.Add(palestra);
                }
            }
        }
コード例 #8
0
        // metodi
        // --- CREA UN ATLETA ---
        public void aggiungiAtleta()
        {
            bool   errore = false;          // lavoro: flag in caso di eccezione
            Atleta atleta = new Atleta();   // lavoro: oggetto contenente le info dell'atleta

            Console.WriteLine("*** Inserimento Nuovo Atleta ***"
                              + Environment.NewLine
                              + Environment.NewLine);
            do
            {
                // prende i dati in input da tastiera
                atleta = inputDati();

                // inserisce i dati nel database
                if (GestioneDB.eseguiQuery("INSERT INTO Atleti (Nome,Cognome,Eta) " +
                                           "VALUES('" + atleta.Nome +
                                           "','" + atleta.Cognome +
                                           "'," + atleta.Eta + ")"))
                {
                    // memorizza l'id dell'ultimo record inserito
                    atleta.Id = ultimoInserito(atleta);

                    // aggiunge l'oggetto alla lista
                    LAtleti.Add(atleta);
                    Console.WriteLine("Inserimento effettuato" + Environment.NewLine);
                }
                else
                {
                    errore = true;
                    Console.WriteLine("Errore di inserimento" + Environment.NewLine);
                }

                Console.WriteLine("Premere un tasto per continuare...");
                Console.ReadKey();
            } while (errore);
        }
コード例 #9
0
ファイル: MainApp.cs プロジェクト: elpanas/GymManager
        public static void Applicazione()
        {
            // Inizializza le variabili
            int scelta_generale = -1,   // lavoro: opzione del menu generale
                scelta_atleta   = -1,   // lavoro: opzione del menu atleta
                scelta_scheda   = -1,   // lavoro: opzione del menu scheda
                id = 0;                 // lavoro: id dell'atleta

            // instanzia le classi Interakt con il metodo Singleton
            InteraktAtleta         interaktAtleta         = InteraktAtleta.Instance();
            InteraktSchedaPalestra interaktSchedaPalestra = InteraktSchedaPalestra.Instance();
            InteraktSchedaNuoto    interaktSchedaNuoto    = InteraktSchedaNuoto.Instance();

            // Crea il database se non esiste e apre la connessione
            GestioneDB.creaDB();

            // Trasferisce i dati dal db alle strutture dati
            interaktAtleta.popolaLista();
            interaktSchedaPalestra.popolaLista();
            interaktSchedaNuoto.popolaLista();

            do
            {
                do
                {
                    Console.WriteLine("--- GESTORE SCHEDE ---" + Environment.NewLine);

                    // Mostra il menu generale
                    scelta_generale = Menu.menuGenerale();
                } while (scelta_generale < 1 || scelta_generale > 3);

                switch (scelta_generale)
                {
                case 1:
                    // Mostra l'elenco di tutti gli atleti iscritti
                    interaktAtleta.mostraTutti();

                    // Sceglie e visualizza l'atleta in base all'id prescelto
                    id = interaktAtleta.mostraUno(0);

                    // Controllo del valore id
                    if (id > 0)
                    {
                        do
                        {
                            interaktAtleta.mostraUno(id);
                            // Mostra le opzioni relative all'atleta prescelto
                            scelta_atleta = Menu.menuAtleta();
                        } while (scelta_atleta < 0 || scelta_atleta > 6);

                        switch (scelta_atleta)
                        {
                        case 1:         // Modifica le info dell'atleta prescelto
                            interaktAtleta.modificaAtleta(id);
                            break;

                        case 2:         // Elimina l'atleta prescelto
                            interaktAtleta.eliminaAtleta(id);
                            break;

                        case 3:         // Mostra la scheda dell'atleta prescelto
                            do
                            {
                                interaktSchedaPalestra.visualizzaScheda(id);

                                // Mostra le opzioni relative alla scheda palestra dell'atleta prescelto
                                scelta_scheda = Menu.menuScheda();
                            } while (scelta_scheda < 0 || scelta_scheda > 4);

                            switch (scelta_scheda)
                            {
                            case 1:             // Crea una nuova scheda palestra
                                interaktSchedaPalestra.creaScheda(id);
                                break;

                            case 2:             // Modifica la scheda palestra
                                interaktSchedaPalestra.modificaScheda(id);
                                break;

                            case 3:             // Elimina la scheda palestra
                                interaktSchedaPalestra.eliminaScheda(id);
                                break;

                            default:             // Torna al menu principale
                                scelta_generale = 0;
                                break;
                            }
                            break;

                        case 4:         // Mostra la scheda nuoto dell'atleta
                            interaktSchedaNuoto.visualizzaScheda(id);

                            // Mostra le opzioni relative alla scheda nuoto dell'atleta prescelto
                            scelta_scheda = Menu.menuScheda();
                            switch (scelta_scheda)
                            {
                            case 1:             // Crea una nuova scheda palestra
                                interaktSchedaNuoto.creaScheda(id);
                                break;

                            case 2:             // Modifica la scheda palestra
                                interaktSchedaNuoto.modificaScheda(id);
                                break;

                            case 3:             // Elimina la scheda palestra
                                interaktSchedaNuoto.eliminaScheda(id);
                                break;

                            default:             // Torna al menu principale
                                scelta_generale = 0;
                                break;
                            }
                            break;

                        case 5:         // Calcola la durata di entrambe le schede
                            InteraktSchede.tempoEsecuzione(interaktSchedaNuoto.ritornaScheda(id),
                                                           interaktSchedaPalestra.ritornaScheda(id));
                            break;

                        default:         // Torna al menu principale
                            scelta_generale = 0;
                            break;
                        }
                    }
                    else     // Torna al menu principale
                    {
                        scelta_generale = 0;
                    }
                    break;

                case 2:     // Aggiunge un nuovo atleta
                    interaktAtleta.aggiungiAtleta();
                    scelta_generale = 0;
                    break;

                default:     // Termina l'esecuzione
                    Console.WriteLine("Buona giornata..." + Environment.NewLine);
                    Console.WriteLine("Premere un tasto per terminare...");
                    Console.ReadKey();
                    break;
                }

                // Pulisce lo schermo
                Console.Clear();
            } while (scelta_generale == 0 || scelta_generale != 3);
        }
コード例 #10
0
        // --- MODIFICA L'ULTIMA SCHEDA ---
        public void modificaScheda(int id)         // input: id atleta
        {
            bool errore,                           // lavoro: flag in caso di eccezione
                 trovato      = false;             // lavoro: flag per oggetto trovato
            SchedaNuoto nuoto = new SchedaNuoto(); // lavoro: oggetto contenente le info della scheda

            Console.WriteLine("*** Aggiorna la scheda nuoto ***" + Environment.NewLine + Environment.NewLine);

            foreach (SchedaNuoto n in LNuoto)
            {
                if (n.Idatleta == id)
                {
                    trovato = true;

                    do
                    {
                        errore = false;

                        // downcasting dell'oggetto
                        nuoto = (SchedaNuoto)inputDati();

                        // aggiorna id dati nel db
                        if (GestioneDB.eseguiQuery("UPDATE Nuoto SET " +
                                                   "SerieCrawl = " + n.Crawl.serie +
                                                   ",SerieDorso = " + n.Dorso.serie +
                                                   ",SerieRana = " + n.Rana.serie +
                                                   ",SerieDelfino = " + n.Delfino.serie +
                                                   ",RipCrawl = " + n.Crawl.ripetizioni +
                                                   ",RipDorso = " + n.Dorso.ripetizioni +
                                                   ",RipRana = " + n.Rana.ripetizioni +
                                                   ",RipDelfino = " + n.Delfino.ripetizioni +
                                                   " WHERE IdAtleta = " + n.Idatleta +
                                                   " AND DataN = (SELECT DataN" +
                                                   " FROM Nuoto" +
                                                   " WHERE IdAtleta = " + n.Idatleta +
                                                   " ORDER BY DataN DESC" +
                                                   " LIMIT 1)"))
                        {
                            n.Crawl   = nuoto.Crawl;
                            n.Dorso   = nuoto.Dorso;
                            n.Rana    = nuoto.Rana;
                            n.Delfino = nuoto.Delfino;
                            Console.WriteLine("Aggiornamento effettuato" + Environment.NewLine);
                        }
                        else
                        {
                            errore = true;
                            Console.WriteLine(Environment.NewLine + "Errore di aggiornamento" + Environment.NewLine);
                        }
                    } while (errore);
                }
            }

            if (!trovato)
            {
                Console.WriteLine(Environment.NewLine + "Scheda non presente" + Environment.NewLine);
            }

            Console.WriteLine(Environment.NewLine + "Premere un tasto per continuare...");
            Console.ReadKey();
        }
コード例 #11
0
        // --- CANCELLA L'ULTIMA SCHEDA ---
        public void eliminaScheda(int id) // input: id atleta
        {
            bool   errore;                // lavoro: flag per errore
            string elimina = "N";         // lavoro: conferma eliminazione
            int    indice  = -1;          // lavoro: flag per scheda presente

            foreach (SchedaNuoto n in LNuoto)
            {
                if (n.Idatleta == id)
                {
                    do
                    {
                        errore = false;
                        try
                        {
                            Console.WriteLine("Eliminare la scheda? S/N");
                            elimina = Console.ReadLine();

                            if (!(elimina is string))
                            {
                                throw new Exception("Inserire una lettera, 'S' o 'N'");
                            }

                            if (elimina == "S" || elimina == "s")
                            {
                                // elimina il record dal database
                                if (GestioneDB.eseguiQuery("DELETE FROM Nuoto WHERE" +
                                                           " IdAtleta = " + n.Idatleta +
                                                           " AND DataN = (SELECT DataN" +
                                                           " FROM Nuoto" +
                                                           " WHERE IdAtleta = " + n.Idatleta +
                                                           " ORDER BY DataN DESC" +
                                                           " LIMIT 1)"))
                                {
                                    // salva l'indice dell'elemento da rimuovere
                                    indice = LNuoto.IndexOf(n);
                                    Console.WriteLine(Environment.NewLine + "Scheda eliminata con successo" + Environment.NewLine);
                                }
                                else
                                {
                                    errore = true;
                                    Console.WriteLine(Environment.NewLine + "Errore in fase di eliminazione" + Environment.NewLine);
                                }
                            }
                        }
                        catch (Exception e) // eccezione
                        {
                            errore = true;
                            Console.WriteLine(Environment.NewLine + "Errore di input: " + e);
                        }
                    } while (errore);
                }
            }

            if (indice > -1)
            {
                LNuoto.RemoveAt(indice); // elimina la scheda dalla lista
            }
            else if (indice < 0 || (elimina == "S" || elimina == "s"))
            {
                Console.WriteLine("Scheda non presente" + Environment.NewLine);
            }

            Console.WriteLine(Environment.NewLine + "Premere un tasto per continuare...");
            Console.ReadKey();
        }
コード例 #12
0
        // --- CREA UNA NUOVA SCHEDA ---
        public void creaScheda(int id) // input: id atleta
        {
            // dichiarazione variabili
            bool           errore;                          // lavoro: flag in caso di eccezione
            SchedaPalestra palestra = new SchedaPalestra(); // lavoro: oggetto contenente le info della scheda nuoto

            Console.WriteLine("*** Crea una nuova scheda palestra ***"
                              + Environment.NewLine
                              + Environment.NewLine);
            do
            {
                errore = false;

                // downcasting
                palestra          = (SchedaPalestra)inputDati();
                palestra.Idatleta = id;

                // inserisce i dati nel database
                if (GestioneDB.eseguiQuery("INSERT INTO Palestra (Durata," +
                                           "Istruttore," +
                                           "SerieDeltoidi," +
                                           "SerieTricipiti," +
                                           "SerieBicipiti," +
                                           "SerieDorsali," +
                                           "SeriePettorali, " +
                                           "SerieAddominali, " +
                                           "SerieGambe," +
                                           "RipDeltoidi," +
                                           "RipTricipiti," +
                                           "RipBicipiti," +
                                           "RipDorsali," +
                                           "RipPettorali, " +
                                           "RipAddominali, " +
                                           "RipGambe," +
                                           "IdAtleta) VALUES (" +
                                           palestra.Durata + ", '" +
                                           palestra.Istruttore + "', " +
                                           palestra.Deltoidi.serie + ", " +
                                           palestra.Tricipiti.serie + ", " +
                                           palestra.Bicipiti.serie + ", " +
                                           palestra.Dorsali.serie + ", " +
                                           palestra.Pettorali.serie + ", " +
                                           palestra.Addominali.serie + ", " +
                                           palestra.Gambe.serie + ", " +
                                           palestra.Deltoidi.ripetizioni + ", " +
                                           palestra.Tricipiti.ripetizioni + ", " +
                                           palestra.Bicipiti.ripetizioni + ", " +
                                           palestra.Dorsali.ripetizioni + ", " +
                                           palestra.Pettorali.ripetizioni + ", " +
                                           palestra.Addominali.ripetizioni + ", " +
                                           palestra.Gambe.ripetizioni + ", " +
                                           id + ")"))
                {
                    // aggiunge l'oggetto alla lista
                    LPalestra.Add(palestra);
                    popolaLista();
                    Console.WriteLine("Inserimento effettuato" + Environment.NewLine);
                }
                else
                {
                    errore = true;
                    Console.WriteLine("Errore di inserimento" + Environment.NewLine);
                }

                Console.WriteLine("Premere un tasto per continuare...");
                Console.ReadKey();
            } while (errore);
        }
コード例 #13
0
        // --- MODIFICA UNA SCHEDA ---
        public void modificaScheda(int id)                  // input: id atleta
        {
            bool errore,                                    // lavoro: flag in caso di eccezione
                 trovato            = false;                // lavoro: flag in caso di record presente
            SchedaPalestra palestra = new SchedaPalestra(); // lavoro: oggetto scheda

            foreach (SchedaPalestra p in LPalestra)
            {
                if (p.Idatleta == id)
                {
                    trovato = true;

                    Console.WriteLine("*** Aggiorna la scheda palestra ***" + Environment.NewLine + Environment.NewLine);
                    do
                    {
                        errore = false;

                        // downcasting
                        palestra = (SchedaPalestra)inputDati();

                        // aggiorna id dati nel db
                        if (GestioneDB.eseguiQuery("UPDATE Palestra SET " +
                                                   "Istruttore = '" + p.Istruttore +
                                                   "',SerieDeltoidi = " + p.Deltoidi.serie +
                                                   ",SerieTricipiti = " + p.Tricipiti.serie +
                                                   ",SerieBicipiti = " + p.Bicipiti.serie +
                                                   ",SerieDorsali = " + p.Dorsali.serie +
                                                   ",SeriePettorali = " + p.Pettorali.serie +
                                                   ",SerieAddominali = " + p.Addominali.serie +
                                                   ",SerieGambe = " + p.Gambe.serie +
                                                   ",RipDeltoidi = " + p.Deltoidi.ripetizioni +
                                                   ",RipTricipiti = " + p.Tricipiti.ripetizioni +
                                                   ",RipBicipiti = " + p.Bicipiti.ripetizioni +
                                                   ",RipDorsali = " + p.Dorsali.ripetizioni +
                                                   ",RipPettorali = " + p.Pettorali.ripetizioni +
                                                   ",RipAddominali = " + p.Addominali.ripetizioni +
                                                   ",RipGambe = " + p.Gambe.ripetizioni +
                                                   " WHERE IdAtleta = " + p.Idatleta +
                                                   " AND DataP = (SELECT DataP" +
                                                   " FROM Palestra" +
                                                   " WHERE IdAtleta = " + p.Idatleta +
                                                   " ORDER BY DataP DESC" +
                                                   " LIMIT 1)"))
                        {
                            // aggiorna l'oggetto
                            p.Idatleta   = id;
                            p.Istruttore = palestra.Istruttore;
                            p.Durata     = palestra.Durata;
                            p.Istruttore = palestra.Istruttore;
                            p.Deltoidi   = palestra.Deltoidi;
                            p.Tricipiti  = palestra.Tricipiti;
                            p.Bicipiti   = palestra.Bicipiti;
                            p.Dorsali    = palestra.Dorsali;
                            p.Pettorali  = palestra.Pettorali;
                            p.Addominali = palestra.Addominali;
                            p.Gambe      = palestra.Gambe;

                            Console.WriteLine("Aggiornamento effettuato" + Environment.NewLine);
                        }
                        else
                        {
                            errore = true;
                            Console.WriteLine("Errore di aggiornamento" + Environment.NewLine);
                        }
                    } while (errore);
                }
            }

            if (!trovato)
            {
                Console.WriteLine("Scheda non presente" + Environment.NewLine);
            }

            Console.WriteLine("Premere un tasto per continuare...");
            Console.ReadKey();
        }