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