private void button1_Click(object sender, EventArgs e) { string req; SqlConnection connection = BDD.open(); //supprime les lignes ou L'id est superieur a 3 donc les nouveautes; req = "DELETE FROM " + table + " WHERE Id > 3 "; BDD.delete(req, connection); connection.Close(); //ouvre une forme pour avertir l'utilisateur que la commande a reussie et ferme la fenetre de suppression FormValider frmval = new FormValider("Element(s) suprimer"); frmval.Show(); this.Close(); }
public static void mail(string mdp, string body, string body2) { string req; string h1color = "FF4000"; string h2color = "B40404"; string listcolor = "black"; //creation d'un objet mail MailMessage message = new MailMessage(); //selection du server mail de google avec le port securise SmtpClient stpc = new SmtpClient("smtp.gmail.com", 587); //permet d'envoyer nos identifiants qui serons verifies car on utilise le port securise stpc.Credentials = new System.Net.NetworkCredential("*****@*****.**", mdp); //on securise notre connection en la chiffrant stpc.EnableSsl = true; //indique de qui provient le mail message.From = new MailAddress("*****@*****.**"); SqlConnection connection = BDD.open(); //permet de charger tous les destinataires du mail req = "SELECT adresse FROM ADRESSES"; BDD.dest(req, connection, message); connection.Close(); //remplit les lignes du mail (objet, corps) qui sera un mail html message.Subject = "Promotion à ne pas manquer"; message.Body = "<h1><font color = " + h1color + "><center>Mac Ventre vous annonce :</center></font></h1><br> <h2><font color =" + h2color + ">voici les nouveautés en restaurant :</font></h2><br> <ul><font size = 3 color =" + listcolor + ">" + body + "</font></ul><br> <h2><font color =" + h2color + ">De plus ces produits sont toujours en promotion : </font></h2><br> <ul><font size = 3 color =" + listcolor + ">" + body2 + "</font></ul>"; message.IsBodyHtml = true; //envoie le mail try { stpc.Send(message); //ouvre une fenetre pour avertir l'utilisateur que la commande a reussie FormValider frmval = new FormValider("Mail(s) envoyé(s)"); frmval.Show(); } catch (Exception ex) { MessageBox.Show("Une erreur est survenue lors de l'envoi du mail", ex.Message); } }
public static void update(string req, SqlConnection connec) { SqlDataAdapter adapter = new SqlDataAdapter(req, connec); //idem, on peut remarquer que update peut aussi se faire avec des delete et insert adapter.UpdateCommand = new SqlCommand(req, connec); try { adapter.UpdateCommand.ExecuteNonQuery(); //ouvre une fenetre pour avertir l'utilisateur que la commande a reussie et ferme la fenetre de modification FormValider frmval = new FormValider("Element(s) mis a jours"); frmval.Show(); } catch (Exception ex) {//si cela echoue on affiche un message box (contrainte d'unicité) MessageBox.Show("Une erreur est survenue lors de la mise a jours", ex.Message); } }
public static void inserer(string req, SqlConnection connec) { //creation du dataadapter qui va gerer les donnees (ajt/supr/modi) dans la BDD selectionnee par connec SqlDataAdapter adapter = new SqlDataAdapter(req, connec); //on appelle la methode insertcommand pour creer la commande d'insertion (req) dans la BDD adapter.InsertCommand = new SqlCommand(req, connec); try { //on excecute la commande d'insertion adapter.InsertCommand.ExecuteNonQuery(); //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(); } catch (Exception ex) {//si cela echoue on affiche un message box (contrainte d'unicité) MessageBox.Show("Une erreur est survenue lors de l'insertion", ex.Message); } }
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(); } }