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

ASP.NET Discussion :

Le format de la chaîne d'entrée est incorrect.


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Octobre 2008
    Messages : 187
    Points : 62
    Points
    62
    Par défaut Le format de la chaîne d'entrée est incorrect.
    Bonjour,
    Ya 15 que je travail sur ce code mais sans résultat ,j'ai toujours ce message qu'il que soit les valeurs tapé sur la gridview et même s'elle est nulle.
    Le format de la chaîne d'entrée est incorrect.
    pour la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    note1 = float.Parse(((TextBox)row.FindControl("note1")).Text);
    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
    private void Update()
        {
          string cmd = "UPDATE EXAMEN SET NOTE = (CASE WHEN CODE_MATIERE = '1' then @note1 WHEN CODE_MATIERE = '2' then @note2 END) WHERE NUM_INSCRIPTION = @num;";
           float  note2;
            string num;
            SqlCommand myCommand;
            SqlParameter param1, param2, param3;
     
            using (SqlConnection myConnection = new SqlConnection(ConnectionString))
            {
                myConnection.Open();
                foreach (GridViewRow row in GridView1.Rows)
                {
                note1 = float.Parse(((TextBox)row.FindControl("note1")).Text);
                    note2 = float.Parse(((TextBox)row.FindControl("note2")).Text);
                    num = ((Label)row.FindControl("lblUserID1")).Text;
     
                    myCommand = new SqlCommand(cmd, myConnection);
     
                    param1 = new SqlParameter("num", SqlDbType.VarChar, 4);
                    param1.Value = num;
                    myCommand.Parameters.Add(param1);
     
                    param2 = new SqlParameter("note1", SqlDbType.Float, 2);
                    param2.Value = note1;
                    myCommand.Parameters.Add(param2);
     
                    param3 = new SqlParameter("note2", SqlDbType.Float, 2);
                    param3.Value = note2;
                    myCommand.Parameters.Add(param3);
     
                    myCommand.ExecuteNonQuery();
                }
     
                myConnection.Close();
            }
        }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <asp:TemplateField HeaderText="Français">
                        <ItemTemplate>
                                <asp:Label ID="lblLastName1" runat="server" Text='<%# Eval("1") %>' Visible='<%# !(bool) IsInEditMode %>'></asp:Label>
                                <asp:TextBox ID="note1" runat="server" Text='<%# Eval("1") %>' Visible='<%# IsInEditMode %>'></asp:TextBox>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Anglais">
                         <ItemStyle CssClass="td02" />
                        <ItemTemplate>
                            <asp:Label ID="lblLastName" runat="server" Text='<%# Eval("2") %>' Visible='<%# !(bool) IsInEditMode %>'></asp:Label>
                            <asp:TextBox ID="note2" runat="server" Text='<%# Eval("2") %>' Visible='<%# IsInEditMode %>'></asp:TextBox>
                        </ItemTemplate>
                    </asp:TemplateField>
    Merci

  2. #2
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut,

    Apparemment, tu dois essayer de convertir une valeur qui ne correspond pas au type float.

    Il faut que tu débogues en pas à pas pour voir de quelle valeur il s'agit.

    Sinon, pourquoi utilises-tu une boucle for? Tu mets à jour toutes les lignes de ton gridview?

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Octobre 2008
    Messages : 187
    Points : 62
    Points
    62
    Par défaut
    Bonjour,
    J'ai utilisé une boucle for pour mettre à jour toute la gridview.
    Dans la gridviw j'écris seulement les notes des étudiants mais d'aprè le débogage la valeur est toujours0.0 meme si j'y tape par exemple 12.
    merci

  4. #4
    Futur Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 8
    Points : 9
    Points
    9
    Par défaut evenment Rowupdating
    Salam Badi3,

    Je ne vois pas une information concenant le declencheur de MAJ!
    puisque vous avez generer l'update vous meme alors il est necessaire de passer
    par l'evenement RowUpdating(), sinon quelle technique vous avez utilise ?

  5. #5
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut,

    En général, dans un gridview, les lignes sont mises à jour une par une.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Octobre 2008
    Messages : 187
    Points : 62
    Points
    62
    Par défaut
    Salut,
    le programme ne lit pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((TextBox)row.FindControl("note1")).Text;
    il lit bien cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((Label)row.FindControl("lblUserID1")).Text;
    je pense que le problème viens de là mais je sais pas comment le corriger .

Discussions similaires

  1. le format de la chaîne d'entrée est incorrect
    Par karimoo01 dans le forum C#
    Réponses: 1
    Dernier message: 28/07/2013, 13h15
  2. Le format de la chaîne d'entrée est incorrect.
    Par Josselin54 dans le forum C#
    Réponses: 10
    Dernier message: 26/01/2011, 08h13
  3. Réponses: 2
    Dernier message: 12/02/2009, 09h59
  4. [C#] [1.1] Le format de la chaîne d'entrée est incorrect
    Par Sup@Lou dans le forum Windows Forms
    Réponses: 2
    Dernier message: 08/08/2006, 10h01

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