Partage
  • Partager sur Facebook
  • Partager sur Twitter

Code vérification avec un SELECT

    21 janvier 2023 à 14:03:43

    Bonjour,

    code qui effectue l'insertion des données après vérification que l'étudiant le nom, prenom n'est pas déjà inscrit dans l'année en cours ou une année ultérieure.

    - la première partie de SELECT de ne  maeche pas

    -la seconde partie de INSERTION marche normalement

    je ne comprend pas pourquoi la première ne marche pas il n'envoi pas de message d'erreur.

    private void Btn_Enregistrer_Click(object sender, EventArgs e)
            {
                if (TxtNomEleve.Text == "" || TxtPrenomEleve.Text == "" || DtmNaissance.Text == "" || TxtLieuNaissance.Text == "" || CbbSexe.Text == "" || TxtNationalite.Text == "" || TxtDernierDipl.Text == "" || TxtAnnee.Text == "" || TxtDernierNivScol.Text == "" || TxtDernierEstScolaire.Text == "" || TxtNomPere.Text == "" || TxtNomMere.Text == "" || TxtAdressParent.Text == "" || TxtTuteur.Text == "" || TxtTelephone.Text == "" || TxtLienParente.Text == "" || Cmb_Classe.Text == "" || Cmb_AnneeScolaire.Text == "")
                {
                    MessageBox.Show("Vous avez oublié certains champs", "Obligatoire", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                try
                {
                    int codeAn = -1;
    
                    if (int.TryParse(Cmb_AnneeScolaire.Text, out codeAn))
                    {
                        using (SqlConnection com = new SqlConnection("Data source=DESKTOP-2717K4D\\SQLEXPRESS; initial catalog=GestionKelasi; integrated security =true "))
                        {
                            SqlDataAdapter singh = new SqlDataAdapter();
    
                            com.Open();
    
                            string query = "SELECT COUNT(*) FROM inscrire JOIN etudiant ON inscrire.codeEt = etudiant.codeEt WHERE etudiant.NmEt = @nomEtudiant AND etudiant.PrnmEt = @prenomEtudiant AND inscrire.codeAn >= @codeAn";
    
                            using (SqlCommand cmd = new SqlCommand(query, com))
                            {
                                cmd.Parameters.AddWithValue("@nomEtudiant", TxtNomEleve.Text);
                                cmd.Parameters.AddWithValue("@prenomEtudiant", TxtPrenomEleve.Text);
                                cmd.Parameters.AddWithValue("@codeAn", codeAn);
    
                                int count = (int)cmd.ExecuteScalar();
                                if (count > 0)
                                {
                                    MessageBox.Show("L'étudiant est déjà inscrit dans cette année ou une année ultérieure");
                                    return;
                                }
                            }
                        }
                    }
    
                                string bulletin = _isCheckedBulletin ? "Oui" : "Non";
                                string diplome = _isCheckedDiplome ? "Oui" : "Non";
                                string photo = _isCheckedPhoto ? "Oui" : "Non";
                                //convertir l'image en format byte
                                //Ajouter un système IO
    
                                //convertir l'image en format byte
                                MemoryStream MR = new MemoryStream();
                                P_Photo.Image.Save(MR, P_Photo.Image.RawFormat);
                                byte[] ByteImage = MR.ToArray();
    
                    com.Open();
                                // Insert data into Parcourscolaires table
                                singh.InsertCommand = new SqlCommand("INSERT INTO Parcourscolaires (codeInfScol, DipEntre, AnEt, DerNivEt, DerEstScol, Profil) VALUES (@codeInfScol, @DipEntre, @AnEt, @DerNivEt, @DerEstScol, @Profil)", com);
                                singh.InsertCommand.Parameters.AddWithValue("@codeInfScol", Txt_IDParScolaire.Text);
                                singh.InsertCommand.Parameters.AddWithValue("@DipEntre", TxtDernierDipl.Text);
                                singh.InsertCommand.Parameters.AddWithValue("@AnEt", TxtAnnee.Text);
                                singh.InsertCommand.Parameters.AddWithValue("@DerNivEt", TxtDernierNivScol.Text);
                                singh.InsertCommand.Parameters.AddWithValue("@DerEstScol", TxtDernierEstScolaire.Text);
                                singh.InsertCommand.Parameters.AddWithValue("@Profil", Profil);
                                singh.InsertCommand.ExecuteNonQuery();
                                singh.InsertCommand.Parameters.Clear();
    
    
                                // Insert data into Dossier table
                                singh.InsertCommand = new SqlCommand("INSERT INTO Dossier (codeDo, Bulletin, Diplome, Photo) VALUES (@codeDo, @Bulletin, @Diplome, @Photo)", com);
                                singh.InsertCommand.Parameters.AddWithValue("@codeDo", TxtID_Dossier.Text);
                                singh.InsertCommand.Parameters.AddWithValue("@Bulletin", bulletin);
                                singh.InsertCommand.Parameters.AddWithValue("@Diplome", diplome);
                                singh.InsertCommand.Parameters.AddWithValue("@Photo", photo);
                                singh.InsertCommand.ExecuteNonQuery();
                                singh.InsertCommand.Parameters.Clear();
    
                                // Insert data into tuteur table
                                singh.InsertCommand = new SqlCommand("INSERT INTO tuteur (codeTuteur, NmPRPere, NmPrMere, AdreParent, Tuteur, NumTuteur, lieuParent) VALUES (@codeTuteur, @NmPRPere, @NmPrMere, @AdreParent, @Tuteur, @NumTuteur, @lieuParent)", com);
                                singh.InsertCommand.Parameters.AddWithValue("@codeTuteur", Txt_IDTuteur.Text);
                                singh.InsertCommand.Parameters.AddWithValue("@NmPRPere", TxtNomPere.Text);
                                singh.InsertCommand.Parameters.AddWithValue("@NmPrMere", TxtNomMere.Text);
                                singh.InsertCommand.Parameters.AddWithValue("@AdreParent", TxtAdressParent.Text);
                                singh.InsertCommand.Parameters.AddWithValue("@Tuteur", TxtTuteur.Text);
                                singh.InsertCommand.Parameters.AddWithValue("@NumTuteur", TxtTelephone.Text);
                                singh.InsertCommand.Parameters.AddWithValue("@lieuParent", TxtLienParente.Text);
                                singh.InsertCommand.ExecuteNonQuery();
                                singh.InsertCommand.Parameters.Clear();
    
    
                                // Insert data into etudiant table
                                singh.InsertCommand = new SqlCommand("INSERT INTO etudiant (codeEt, NmEt, PrnmEt, DtNais, LieuNais, sexe, Nationalite, adresEt, photo, codeInfScol, codeDo, codeTuteur) VALUES (@codeEt, @NmEt, @PrnmEt, @DtNais, @LieuNais, @sexe, @Nationalite, @adresEt, @photo, @codeInfScol, @codeDo, @codeTuteur)", com);
                                singh.InsertCommand.Parameters.AddWithValue("@codeEt", Txt_IDEtudiant.Text);
                                singh.InsertCommand.Parameters.AddWithValue("@NmEt", TxtNomEleve.Text);
                                singh.InsertCommand.Parameters.AddWithValue("@PrnmEt", TxtPrenomEleve.Text);
                                singh.InsertCommand.Parameters.AddWithValue("@DtNais", DtmNaissance.Text);
                                singh.InsertCommand.Parameters.AddWithValue("@LieuNais", TxtLieuNaissance.Text);
                                singh.InsertCommand.Parameters.AddWithValue("@sexe", CbbSexe.Text);
                                singh.InsertCommand.Parameters.AddWithValue("@Nationalite", TxtNationalite.Text);
                                singh.InsertCommand.Parameters.AddWithValue("@adresEt", TxtAdressParent.Text);
                                singh.InsertCommand.Parameters.AddWithValue("@photo", ByteImage);
                                singh.InsertCommand.Parameters.AddWithValue("@codeInfScol", Txt_IDParScolaire.Text);
                                singh.InsertCommand.Parameters.AddWithValue("@codeDo", TxtID_Dossier.Text);
                                singh.InsertCommand.Parameters.AddWithValue("@codeTuteur", Txt_IDTuteur.Text);
                                singh.InsertCommand.ExecuteNonQuery();
                                singh.InsertCommand.Parameters.Clear();
    
                                // Insert data into inscrire table
                                singh.InsertCommand = new SqlCommand("INSERT INTO inscrire (IDincription, dtInscription, codeEt, codeAn, CodeFraisI, codeclasse) VALUES (@IDincription, @dtInscription, @CodeEt, @codeAn, @CodeFraisI, @codeclasse)", com);
                                singh.InsertCommand.Parameters.AddWithValue("@IDincription", Txt_IDInscription.Text);
                                singh.InsertCommand.Parameters.AddWithValue("@dtInscription", Lbl_Time.Text);
                                singh.InsertCommand.Parameters.AddWithValue("@CodeEt", Txt_IDEtudiant.Text);
                                singh.InsertCommand.Parameters.AddWithValue("@codeAn", Convert.ToInt32(Cmb_AnneeScolaire.SelectedValue));
                                singh.InsertCommand.Parameters.AddWithValue("@CodeFraisI", TxtIdFraisInscrip.Text);
                                singh.InsertCommand.Parameters.AddWithValue("@codeclasse", Convert.ToString(Cmb_Classe.SelectedValue));
                                singh.InsertCommand.ExecuteNonQuery();
                                singh.InsertCommand.Parameters.Clear();
                                // Confirm insertion
                                MessageBox.Show("Enregistrement réussi!");
                    com.Close();
                
                 }
    
                catch (Exception ex)
                {
                  MessageBox.Show("Erreur:" + ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }

    Merci cordialement.

    • Partager sur Facebook
    • Partager sur Twitter
      22 janvier 2023 à 11:40:43

      Avez-vous vérifié votre "SELECT" dans un client SQL ?
      • Partager sur Facebook
      • Partager sur Twitter
      Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
        24 janvier 2023 à 13:11:53

        Nous sommes d'accord sur le fait que ta requête SELECT retourne le nombre de lignes correspondant au nom/prénom/codeAn, passé en paramètre ? donc a priori doit retourné 1 ou 0. ou il y a un souci dans le code que tu nous as posté (com est défini dans un using au niveau du SELECT (ligne 14), using fermé au moment de la requête INSERT (l'accolage ligne 35).
        • Partager sur Facebook
        • Partager sur Twitter

        Code vérification avec un SELECT

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown