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 :

SqlDataSource ne met pas à jour "UN CHAMP" d'une table


Sujet :

ASP.NET

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 4
    Points : 5
    Points
    5
    Par défaut SqlDataSource ne met pas à jour "UN CHAMP" d'une table
    Bonjour,

    J'ai un FormView en mode "Edit". En code behind dans l'événement "FormView1_ItemUpdating" j'ajoute 6 "UpadetParametres" au sqlDataSource.

    La première mise à jour se passe normalement, les valeurs des 6UpadetParametres" sont impacté sur la table(bdd sql serveur 2005).

    Si je tente une deuxième mise à jour, un champ de ma table n'est pas mise à jour. Il garde la valeur précédemment affecté.

    Avec le débuggeur, les valeurs des UpadetParametres sont bien les bonnes.
    J'ai aussi vérifié dans l'événement "_Updating" du sqldatasource elles sont bonnes aussi.

    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
     
     protected void FormView1_ItemUpdating(object sender, FormViewUpdateEventArgs e)
            {
     
                String updateV1 = "update dai.DAILCO set Ventilation1=@Ventilation1, MontantV1=@MV1, Affect1=@Affect1, DateVentilation=@date where CONTROLE = @Controle and  IDLCO=@IdLco";
                String updateV2 = "update dai.DAILCO set Ventilation2=@Ventilation2, MontantV2=@MV2, Affect2=@Affect2, DateVentilation=@date where CONTROLE = @Controle and  IDLCO=@IdLco";
     
     
      SqlFormView.UpdateCommandType = SqlDataSourceCommandType.Text;
                            SqlFormView.UpdateCommand = updateV1;
     
                            SqlFormView.UpdateParameters.Add("CONTROLE", System.Data.DbType.String, txtCONTROLE.Text);
                            SqlFormView.UpdateParameters.Add("idlco", System.Data.DbType.Int32, lblIDLCO.Text);
                            SqlFormView.UpdateParameters.Add("Ventilation1",System.Data.DbType.String, postChoisi);
                            SqlFormView.UpdateParameters.Add("Affect1",System.Data.DbType.String, affect);
                            SqlFormView.UpdateParameters.Add("MV1",System.Data.DbType.Double, Convert.ToString(mt));
                            SqlFormView.UpdateParameters.Add("date", System.Data.DbType.DateTime, dateModif.ToString());
     
    }
    Coté aspx

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <UpdateParameters>
     
    </UpdateParameters>
    Le paramètre qui pose problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     SqlFormView.UpdateParameters.Add("Ventilation1",System.Data.DbType.String, postChoisi);
    La var "postChoisi" une valeur récupérée d'une dropDownList
    Je ne sais plus quoi faire. Merci d'avance pour votre aide.

  2. #2
    Futur Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    J’ai fini par trouver une solution.

    En mettant mes variables directement dans la requête sans passer par des update paramètres ca fonctionne à tous les coups.

    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
     
    SqlFormView.UpdateCommandType = SqlDataSourceCommandType.Text;
                if (affect == "1" || affect == "2")  //Uniquement pour les ventilations sur les postes budgétaires dépense et recette
                {
                    switch (dlVentil.SelectedValue)
                    {
                        case "Ventilation 1":
                            SqlFormView.UpdateCommand = "update dai.DAILCO set Ventilation1='" + postChoisi + "' , MontantV1=" +  mt.ToString().Replace(",",".") + ", Affect1='" + affect + "', DateVentilation='" + dateModif.ToShortDateString() + "' where IDLCO='"+FormView1.DataKey.Value+"'";
                            break;
                        case "Ventilation 2":
                            SqlFormView.UpdateCommand = "update dai.DAILCO set Ventilation2='" + postChoisi + "' , MontantV2=" + mt.ToString().Replace(",", ".") + ", Affect2='" + affect + "', DateVentilation='" + dateModif.ToShortDateString() + "' where IDLCO='" + FormView1.DataKey.Value + "'";
                            break;
                        case "Ventilation 3":
                            SqlFormView.UpdateCommand = "update dai.DAILCO set Ventilation3='" + postChoisi + "' , MontantV3=" + mt.ToString().Replace(",", ".") + ", Affect3='" + affect + "', DateVentilation='" + dateModif.ToShortDateString() + "' where IDLCO='" + FormView1.DataKey.Value + "'";
                            break;
                        case "Ventilation 4":
                            SqlFormView.UpdateCommand = "update dai.DAILCO set Ventilation4='" + postChoisi + "' , MontantV4=" + mt.ToString().Replace(",", ".") + ", Affect4='" + affect + "', DateVentilation='" + dateModif.ToShortDateString() + "' where IDLCO='" + FormView1.DataKey.Value + "'";
                            break;
                        case "Ventilation 5":
                            SqlFormView.UpdateCommand = "update dai.DAILCO set Ventilation5='" + postChoisi + "' , MontantV5=" + mt.ToString().Replace(",", ".") + ", Affect5='" + affect + "', DateVentilation='" + dateModif.ToShortDateString() + "' where IDLCO='" + FormView1.DataKey.Value + "'";
                            break;
                    }
                }
                else  //si ope ventilée sur retrait d'apport ou placement
                {
                    switch (affect)
                    {
                        case "3":
                            SqlFormView.UpdateCommand = "update dai.DAILCO set Ventilation1='" + postChoisi + "' , MontantV1=" + mt.ToString().Replace(",", ".") + ", Affect1='" + affect + "', DateVentilation='" + dateModif.ToShortDateString() + "' where IDLCO='" + FormView1.DataKey.Value + "'";
                            break;                 
                        case "4":
                            SqlFormView.UpdateCommand = "update dai.DAILCO set Ventilation1='" + postChoisi + "', MontantV1=" + mt.ToString().Replace(",", ".") + ", Affect1='" + affect + "', DateVentilation='" + dateModif.ToShortDateString() + "', Placement=" + -1 + " where IDLCO='" + FormView1.DataKey.Value + "'";
                            break;
     
     
                    }
                }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Combobox.text qui ne se met pas à jour
    Par davels dans le forum Delphi
    Réponses: 6
    Dernier message: 21/08/2006, 10h29
  2. [AJAX] XMLHTTPREQUEST ne se met pas à jour :-/
    Par franckarts dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/08/2006, 18h11
  3. Update Récalcitrante !! Ne met pas à jour !
    Par samlepiratepaddy dans le forum Access
    Réponses: 14
    Dernier message: 28/10/2005, 09h31
  4. un update qui ne met pas à jour
    Par dor_boucle dans le forum Requêtes
    Réponses: 3
    Dernier message: 14/10/2005, 09h31

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