IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Erreur lors d'un update en ASP.NET C#


Sujet :

C#

  1. #1
    Membre habitué
    Homme Profil pro
    Etudiant - Développeur
    Inscrit en
    Mai 2014
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Etudiant - Développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2014
    Messages : 119
    Points : 159
    Points
    159
    Par défaut Erreur lors d'un update en ASP.NET C#
    Bonjour,

    Voici mon message d'erreur:
    asp.net c# Aucun mappage n'existe à partir du type d'objet System.Web.UI.WebControls.ListItem vers un type connu de fournisseur natif managé
    mon code avec la requete:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
     
    private void Update()
      {
          int nationalite = LangueNationaliteUpdate(ddlNationalite.SelectedItem.ToString()), langue = LangueNationaliteUpdate(ddlLangue1.SelectedItem.ToString()), paysPro = PaysUpdate(ddlPaysProSociete.SelectedItem.ToString()), paysPerso = PaysUpdate(ddlPaysPerso.SelectedItem.ToString());
     
          SqlConnection connexion_base = new SqlConnection(WebConfigurationManager.ConnectionStrings["CedepWDSKConnectionString"].ToString());
     
          using (connexion_base)
          {
              // Ouverture de la connection
              connexion_base.Open();
     
              using (SqlCommand commande = new SqlCommand())
              {
                  commande.CommandText = "UPDATE Participant SET IDSociete = @IDSOCIETE, Civilite = @CIVILITE, Nom = @NOM, Prenom = @PRENOM, DateNaissance = @DATENAISS, Nationalite = @NATIONALITE, Titre = @TITRE, IDExperiencePrincipale = @EXPERTISE1, IDExperienceSecondaire = @EXPERTISE2, Langue1 = @LANGUE2, TelephonePro = @TELPRO, TelephoneMobile = @PORTABLE, EMail = @MELPRO, AdressePersonnelle = @ADRESSEPERSO, TelephonePerso = @TELPERSO, CodePostalPerso = @CPPERSO, VillePerso = @VILLEPERSO, PaysPerso = @PAYSPERSO, Commentaire = @COMMENTAIRE, RaisonSociale = @RS, AdresseSociete = @ADRESSE, CodePostalSociete = @CP, VilleSociete = @VILLE, PaysSociete = @PAYSSOCIETE, LienLinkedIn = @LINKEDIN, Skype = @SKYPE, ManagerDNom = @NOMMD, ManagerDPrenom = @PRENOMMD, ManagerDEmail = @MELMD, ManagerDTel = @TELMD, ManagerFNom = @NOMMF, ManagerFPrenom = @PRENOMMF, ManagerFEmail = @MELMF, ManagerFTel = @TELMF, MailPerso = @MELPERSO, TelephoneProCodePays = @TELPROCP, TelephoneMobileCodePays = @TELPORTCP, TelephonePersoCodePays = @TELPERSOCP, ManagerDTelCodePays = @MDTELCP, ManagerFTelCodePays = @MFTELCP, PaysPersoWeb = @PPW, PaysSocieteWeb = @PSW, NationaliteWeb = @NW, Langue1Web = @LW WHERE IDParticipant = @IDPARTICIPANT;";
                  commande.Parameters.AddWithValue("@IDSOCIETE", ddlMaisonMere.SelectedValue);
                  commande.Parameters.AddWithValue("@CIVILITE", ddlCivilite.SelectedItem);
                  commande.Parameters.AddWithValue("@IDPARTICIPANT", Session["IDParticipant"].ToString());
                  commande.Parameters.AddWithValue("@NOM", tbNom.Text);
                  commande.Parameters.AddWithValue("@PRENOM", tbPrenom.Text);
                  commande.Parameters.AddWithValue("@DATENAISS", tbDateNaiss.Text);
                  commande.Parameters.AddWithValue("@NATIONALITE", nationalite);
                  commande.Parameters.AddWithValue("@TITRE", tbTitre.Text);
                  commande.Parameters.AddWithValue("@EXPERTISE1", ddlExpPrincipale.SelectedValue);
                  commande.Parameters.AddWithValue("@EXPERTISE2", ddlExpSecondaire.SelectedValue);
                  commande.Parameters.AddWithValue("@LANGUE2", langue);
                  commande.Parameters.AddWithValue("@TELPRO", tbTelPro.Text);
                  commande.Parameters.AddWithValue("@PORTABLE", tbPortable.Text);
                  commande.Parameters.AddWithValue("@MELPRO", tbMail.Text);
                  commande.Parameters.AddWithValue("@ADRESSEPERSO", tbAdressPro.Text);
                  commande.Parameters.AddWithValue("@TELPERSO", tbTelPerso.Text);
                  commande.Parameters.AddWithValue("@CPPERSO", tbCPPerso.Text);
                  commande.Parameters.AddWithValue("@VILLEPERSO", tbVillePerso.Text);
                  commande.Parameters.AddWithValue("@PAYSPERSO", paysPerso);
                  commande.Parameters.AddWithValue("@COMMENTAIRE", tbCommentaire.Text);
                  commande.Parameters.AddWithValue("@RS", tbRaisonSociale.Text);
                  commande.Parameters.AddWithValue("@ADRESSE", tbAdressPro.Text);
                  commande.Parameters.AddWithValue("@CP", tbCpPro.Text);
                  commande.Parameters.AddWithValue("@VILLE", tbVillePro.Text);
                  commande.Parameters.AddWithValue("@PAYSSOCIETE", paysPerso);
                  commande.Parameters.AddWithValue("@LINKEDIN", tbLinkedIn.Text);
                  commande.Parameters.AddWithValue("@SKYPE", tbSkype.Text);
                  commande.Parameters.AddWithValue("@NOMMD", tbNomMD.Text);
                  commande.Parameters.AddWithValue("@PRENOMMD", tbPrenomMD.Text);
                  commande.Parameters.AddWithValue("@MELMD", tbMelMD.Text);
                  commande.Parameters.AddWithValue("@TELMD", tbTelMD.Text);
                  commande.Parameters.AddWithValue("@NOMMF", tbNomMF.Text);
                  commande.Parameters.AddWithValue("@PRENOMMF", tbPrenomMF.Text);
                  commande.Parameters.AddWithValue("@MELMF", tbMelMF.Text);
                  commande.Parameters.AddWithValue("@TELMF", tbTelMF.Text);
                  commande.Parameters.AddWithValue("@MELPERSO", tbMailPerso.Text);
                  commande.Parameters.AddWithValue("@TELPROCP", tbTelProCodePays.Text);
                  commande.Parameters.AddWithValue("@TELPORTCP", tbPortableCodePays.Text);
                  commande.Parameters.AddWithValue("@TELPERSOCP", tbTelPersoCodePays.Text);
                  commande.Parameters.AddWithValue("@MDTELCP", tbTelMDCodePays.Text);
                  commande.Parameters.AddWithValue("@MFTELCP", tbTelMFCodePays.Text);
                  commande.Parameters.AddWithValue("@PPW", ddlPaysPerso.SelectedValue);
                  commande.Parameters.AddWithValue("@PSW", ddlPaysProSociete.SelectedValue);
                  commande.Parameters.AddWithValue("@NW", ddlNationalite.SelectedValue);
                  commande.Parameters.AddWithValue("@LW", ddlLangue1.SelectedValue);
                  commande.Connection = connexion_base;
                  // Execution de la requette
                  commande.ExecuteNonQuery();
                  commande.Connection.Close();
              }
     
              // Fermeture de la connexion
              connexion_base.Close();
          }
      }
     
      private int PaysUpdate(string champs)
      {
          int id = 0;
          SqlConnection connexion_base = new SqlConnection(WebConfigurationManager.ConnectionStrings["CedepWDSKConnectionString"].ToString());
     
          using (connexion_base)
          {
              // Ouverture de la connection
              connexion_base.Open();
              using (SqlCommand commande = new SqlCommand())
              {
                  //obtention du pays perso
                  commande.CommandText = "SELECT id_Pays FROM Pays WHERE libelle_EN_Pays = @ID;";
                  commande.Parameters.AddWithValue("@ID", champs);
                  commande.Connection = connexion_base;
                  SqlDataReader rd = commande.ExecuteReader();
                  if (rd.HasRows)
                  {
                      while (rd.Read())
                      {
                          id = Convert.ToInt16(rd["id_Pays"].ToString());
                      }
                  }
                  rd.Close();
                  commande.Connection.Close();
              }
              // Fermeture de la connexion
              connexion_base.Close();
          }
          return id;
      }
     
      private int LangueNationaliteUpdate(string champs)
      {
          int id = 0;
          SqlConnection connexion_base = new SqlConnection(WebConfigurationManager.ConnectionStrings["CedepWDSKConnectionString"].ToString());
     
          using (connexion_base)
          {
              // Ouverture de la connection
              connexion_base.Open();
              using (SqlCommand commande = new SqlCommand())
              {
                  //obtention de la langue
                  commande.CommandText = "SELECT IDNationalite FROM NationaliteLangue WHERE NationaliteEn = @ID;";
                  commande.Parameters.AddWithValue("@ID", champs);
                  commande.Connection = connexion_base;
                  SqlDataReader rd = commande.ExecuteReader();
                  if (rd.HasRows)
                  {
                      while (rd.Read())
                      {
                          id = Convert.ToInt16(rd["IDNationalite"].ToString());
                      }
                  }
                  rd.Close();
                  commande.Connection.Close();
              }
              // Fermeture de la connexion
              connexion_base.Close();
          }
          return id;
      }
    Merci de votre aide par d'avance

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 742
    Points
    9 742
    Billets dans le blog
    3
    Par défaut
    Cette ligne n'est pas bonne :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    commande.Parameters.AddWithValue("@CIVILITE", ddlCivilite.SelectedItem);
    Utilise plutôt SelectedValue ou SelectedIndex.

  3. #3
    Membre habitué
    Homme Profil pro
    Etudiant - Développeur
    Inscrit en
    Mai 2014
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Etudiant - Développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2014
    Messages : 119
    Points : 159
    Points
    159
    Par défaut
    J'ai toujours le même message d'erreur

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 742
    Points
    9 742
    Billets dans le blog
    3
    Par défaut
    Tu utilises aussi SelectedItem dans la première ligne de la méthode Update...

    SelectedItem est un genre de Dictionary<TKey, TValue>, tu ne dois donc pas l'utiliser pour récupérer tes valeurs directement. Je n'ai pas passé tout ton code en revue, mais c'est cela que tu dois corriger de partout.

  5. #5
    Membre habitué
    Homme Profil pro
    Etudiant - Développeur
    Inscrit en
    Mai 2014
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Etudiant - Développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2014
    Messages : 119
    Points : 159
    Points
    159
    Par défaut
    J'ai modifié SelectedItem par SelectedValue toujours le même message

Discussions similaires

  1. Erreur lors de l'update (Ado.Net)
    Par dsolheid dans le forum VB.NET
    Réponses: 2
    Dernier message: 04/03/2008, 22h21
  2. erreur lors d'un update d'une base de données
    Par tibtibby dans le forum ASP
    Réponses: 1
    Dernier message: 09/06/2006, 14h30
  3. erreur dans la fonction update (en asp)
    Par leclone dans le forum ASP
    Réponses: 1
    Dernier message: 26/05/2006, 10h00
  4. [ADO.Net][Access] Pourquoi ai-je une erreur lors de l'Update ?
    Par nazimb dans le forum Accès aux données
    Réponses: 1
    Dernier message: 15/05/2006, 09h37
  5. Erreur lors d'un Update en SQlserver
    Par kedig dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 30/08/2005, 08h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo