Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C#]Erreur de mise à jour BDD

    29 mars 2011 à 14:21:11

    Bonjour,

    J'ai un problème dans un programme que je développe . En effet , je ne peux pas mettre à jour dans ma base de donnée quand j'utilise une requete avec une jointure de deux tables , j'ai l'erreur suivante :

    Citation

    la génération SQL dynamique n'est pas prise en charge pour plusieurs tables de base



    Voici ma requete
    SELECT * 
    From Patient , FicheSoin 
    Where patient.NumPatient=ficheSoin.NumPatient 
    AND Patient.NumPatient=" + numPatientChoisis;
    


    Existe t'il un moyen de contourner ce problème ?

    Merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      29 mars 2011 à 14:39:24

      Peux-tu montrer le code qui effectue l'appel à cette requête ? Il nous faut plus d'information sur la manière dont tu utilises ADO.NET pour pouvoir t'aider.
      • Partager sur Facebook
      • Partager sur Twitter
        29 mars 2011 à 15:14:51

        J'appel ma fonction qui charge le dataAdaptateur :
        string requete = "SELECT * From Patient , FicheSoin Where patient.NumPatient=ficheSoin.NumPatient AND Patient.NumPatient=" + numPatientChoisis;
        ConnexionBDD.charger(requete, mySqlDataAdapterDossierSoin2, mySQLDataTableDossierSoin2);
        


        Voici ma fonction charger :
        public static void charger(string req, MySqlDataAdapter DA, DataTable DT)
                {
                    if (!ConnexionBDD.connopen) return;  // pour vérifier que la BD est bien ouverte 
        
                    // exemple proposé à partir d’un select sur une table CATEGORIE,  
                    // à vous d’adapter la requête à votre BD 
                    DA.SelectCommand = new MySqlCommand(req,
                   ConnexionBDD.myConnection);
                    // pour spécifier les instructions de mise à jour (insert, delete, update) 
                    MySqlCommandBuilder mySqlCommand1 = new MySqlCommandBuilder(DA);
        
                    try
                    {
                        DT.Clear();
                        DA.Fill(DT);
                       
        
                    }
                    catch (Exception err)
                    {
                        MessageBox.Show("Erreur chargement dataset : " + err, "PBS table remontée",
                MessageBoxButtons.OK, MessageBoxIcon.Error);
                        ConnexionBDD.errgrave = true;
                    }
        
                }
        


        Voici mon code pour enregistrer mes données que je veux sauver :

        DialogResult rep = MessageBox.Show("Voulez-vous enregistrer vos modifications", "Enrengistrement des modifications", MessageBoxButtons.YesNo);
        
                        if(rep == DialogResult.Yes)
                        {
        
                            mySQLDataTableDossierSoin2.Rows[0]["NomPrenPat"] = txtNomPren.Text;
                            mySQLDataTableDossierSoin2.Rows[0]["DateNaissance"] = txtDateNaissance.Text;
                            mySQLDataTableDossierSoin2.Rows[0]["Observation"] = txtObserv.Text;
                            mySQLDataTableDossierSoin2.Rows[0]["Medicament"] = txtMedica.Text;
                            mySQLDataTableDossierSoin2.Rows[0]["DateEntree"] = txtDateHosp.Text;
                            mySQLDataTableDossierSoin2.Rows[0]["CauseHospi"] = txtCauseHospi.Text;
                            mySQLDataTableDossierSoin2.Rows[0]["Chambre"] = txtChambre.Text;
                            mySQLDataTableDossierSoin2.Rows[0]["Secteur"] = txtSecteur.Text;
                            mySQLDataTableDossierSoin2.Rows[0]["Section"] = txtSection.Text;
                            mySQLDataTableDossierSoin2.Rows[0]["Douleur"] = txtDouleur.Text;
        
                        }
        
                        mySqlDataAdapterDossierSoin2.Update(mySQLDataTableDossierSoin2);
        


        Voilà merci .
        • Partager sur Facebook
        • Partager sur Twitter
          29 mars 2011 à 15:30:04

          Bon tu essaies effectivement de faire des modifications sur le résultat d'une requête portant sur plusieurs tables...
          Il est impossible de modifier des tables d'une BDD comme ça: tu dois modifier chaque table séparément. :(
          • Partager sur Facebook
          • Partager sur Twitter
            29 mars 2011 à 15:56:54

            Ok merci je vais essayer de voir comment faire ;)
            • Partager sur Facebook
            • Partager sur Twitter

            [C#]Erreur de mise à jour BDD

            × 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