예제 #1
0
        private void Form5_Load(object sender, EventArgs e)
        {
            string        req;
            SqlConnection connection = BDD.open();

            //permet de recuperer le nb de lignes de la table BURGERS
            req     = "SELECT COUNT(*) FROM BURGERS";
            iburger = BDD.NbLigne(req, connection);

            //permet de recuperer le nb de lignes de la table SALADES
            req     = "SELECT COUNT(*) FROM SALADES";
            isalade = BDD.NbLigne(req, connection);

            //permet de recuperer le nb de lignes de la table DESSERTS
            req      = "SELECT COUNT(*) FROM DESSERTS";
            idessert = BDD.NbLigne(req, connection);

            connection.Close();
            //le calcul se fait en moins de 30 sec donc on peut garder la meme connection.
        }
예제 #2
0
        private void button2_Click(object sender, EventArgs e)
        {//ajoute ou supprime des adresses mail
            string req;

            if (supp == 'n')
            {
                SqlConnection connection = BDD.open();
                //permet d'ajouter une @mail
                req = "INSERT INTO ADRESSES(adresse) values('" + textBox2.Text + "')";
                BDD.inserer(req, connection);
                connection.Close();
                textBox2.Text = "";
            }
            else
            {
                SqlConnection connection2 = BDD.open();
                //permet de supprimer une @mail
                req = "DELETE FROM ADRESSES WHERE adresse = '" + textBox2.Text + "'";
                BDD.delete(req, connection2);
                connection2.Close();
                textBox2.Text = "";
            }
        }
예제 #3
0
        private void button2_Click(object sender, EventArgs e)
        {                       //recupere un fichier csv
            int nbcolonnes = 3; //nombre de colones de notre table (BURGERS/SALADES/DESSERTS)

            char[] splitligne = new char[] { '\n' };
            char[] splitmot   = new char[] { ';' };

            string fileContent = tool.lire(openFileDialog1);

            //creer un tableau de string avec les cellules remplis par des sous string du fichier csv.
            //la methode Split prend en parametre le separateur qui permet de fractionner la string et retourne les sous chaines (les lignes)
            string[] lignesplit = fileContent.Split(splitligne);

            //on compte le nombre de cellules du tableau
            int nblignes = lignesplit.Count();

            //on cree un tableau dimentionne suivant le nombre de lignes multiplie par le nombre de colonne (ici toujours egal a 3)
            string[] motsplit = new string[(nblignes * nbcolonnes)];
            //on cree un tableau surdimentionne pour stocker une ligne de 3 mots
            string[] temp = new string[30];


            int i;
            int z = 0;

            //la derniere ligne est toujours vide donc on ne la prend pas
            for (i = 0; i < (nblignes - 1); i++)
            {
                //on separt la ligne en mot grace au separateur ;
                temp = lignesplit[i].Split(splitmot);
                //on remplit le tableau des mots ligne par ligne comme une ligne n'a que 3 mots on incremente z par 3 et on utilise les 3 premieres cellules de temp
                motsplit[z]     = temp[0];
                motsplit[z + 1] = temp[1];
                motsplit[z + 2] = temp[2];
                z = z + 3;
            }
            z = 0;

            int j;
            //on compte le nombre de cellules de mots
            int nbmots = motsplit.Count();

            //permet de selectionner la table avec la premiere case du fichier csv cela permet d'eviter de cocher la table comme pour un ajout simple
            col = Convert.ToString(motsplit[0]);
            switch (col)
            {
            case "burger":
                table = "BURGERS";
                break;

            case "salade":
                table = "SALADES";
                break;

            case "dessert":
                table = "DESSERTS";
                break;

            default: break;
            }

            int           nbligne     = 0;
            SqlConnection connection2 = BDD.open();
            //on compte le nombre d'enregistrements dans la table pour pouvoir affecter un id plus grand
            string req2 = "SELECT COUNT(*) FROM " + table;

            nbligne = BDD.NbLigne(req2, connection2);
            connection2.Close();

            char ajtreussi = 'y';

            //boucle d'insertion dans la base on insert 3 mots a chaque fois (nom, prix, reduction) on ne prend pas en compte les 3 premiers qui sont le titre des colonnes ni les 3 derniers qui sont vides
            for (j = 3; j < nbmots - 3; j = j + 3)
            {
                //incrementation du nb de lignes pour enregistrer
                nbligne++;
                SqlConnection connection = BDD.open();
                string        req        = "INSERT INTO " + table + " (Id, " + col + ", prix, reduction) Values (" + Convert.ToString(nbligne) + ", '" + Convert.ToString(motsplit[j]) + "', " + Convert.ToString(motsplit[j + 1]) + ", " + Convert.ToString(motsplit[j + 2]) + ")";
                //on n'utilise pas BDD.inserer car cela ouvrirait autant de fomvalider que d'iteration
                //creation du dataadapter qui va gerer les donnees (ajt/supr/modi) dans la BDD selectionnee par connec
                SqlDataAdapter adapter = new SqlDataAdapter(req, connection);
                //on appelle la methode insertcommand pour creer la commande d'insertion (req) dans la BDD
                adapter.InsertCommand = new SqlCommand(req, connection);

                try
                {  //on excecute la commande d'insertion
                    adapter.InsertCommand.ExecuteNonQuery();
                }
                catch (Exception ex)
                { //si cela echoue on affiche un message box (contrainte d'unicité ou de non selection de la table)
                    MessageBox.Show("Une erreur est survenue lors de l'insertion", ex.Message);
                    ajtreussi = 'n';
                }
                connection.Close();
            }
            //si il n'y a eu aucune erreur lors de l'insertion
            if (ajtreussi == 'y')
            {
                //ouvre une forme pour afficher a l'utilisateur que la commande a reussie et ferme la fenetre d'ajout
                FormValider frmval = new FormValider("Element(s) ajouter");
                frmval.Show();
                this.Close();
            }
        }
예제 #4
0
        private void button1_Click(object sender, EventArgs e)
        {//burgers
            SqlConnection connection = BDD.open();
            string        ord;

            //tool.sw1(button1.Text, connection, label1.Text, cmdtps.Text,archi.Text,objcmd.Text);
            //Update(res[0].ToString(),res[1].ToString(),res[2].ToString(),res[3].ToString());

            //suivant le texte du boutton 1 differents produits sont ajoutes dans la commande temporaire
            //ainsi que le prix apres calcul de la reduction du produit dans un label objcmd
            //enfin on passe au niveau d'architecture suivant (menu -> choix plat -> produit -> sauce )
            switch (button1.Text)
            {
            case "Burgers":
                archi.Text = "2b";
                cmdtmp.Add("Burger");
                break;

            case "chicken":
                archi.Text = "3c";
                cmdtmp.Add("chicken");
                ord         = "SELECT prix, reduction FROM BURGERS WHERE burger='chicken'";
                objcmd.Text = BDD.GetPrixReduc(ord, connection);
                break;

            case "fromage":
                archi.Text = "3fr";
                cmdtmp.Add("fromage");
                ord         = "SELECT prix, reduction FROM SALADES WHERE salade='fromage'";
                objcmd.Text = BDD.GetPrixReduc(ord, connection);
                break;

            case "mac flury":
                archi.Text = "3m";
                cmdtmp.Add("macflury");
                ord         = "SELECT prix, reduction FROM DESSERTS WHERE dessert='mac_flurry'";
                objcmd.Text = BDD.GetPrixReduc(ord, connection);
                break;

            case "poivre":
                archi.Text = "4p";
                cmdtmp.Add("poivre");
                break;

            case "vinaigrette":
                archi.Text = "4v";
                cmdtmp.Add("vinaigrette");
                break;

            case "chocolat":
                archi.Text = "4c";
                cmdtmp.Add("chocolat");
                break;

            case "confirmer":
                archi.Text = "1";
                //le label cmdtps est la commande finale des produits commandes par l'utilisateur, string join permet de concatener une liste avec une virgule comme separateur
                cmdtps.Text = cmdtps.Text + " \r\n " + string.Join(", ", cmdtmp) + "\t\t" + objcmd.Text + " euros";
                //label1 est le label stockant le prix total de la commande
                label1.Text = Convert.ToString((Convert.ToDecimal(label1.Text) + Convert.ToDecimal(objcmd.Text)));
                //on efface la commande temporaire car elle a ete validee
                cmdtmp.Clear();
                break;

            default:
                break;
            }
            // Fermeture connection
            connection.Close();
        }