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. }
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 = ""; } }
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(); } }
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(); }