Bonjour,
je voudrais mettre à jour une ligne d'une table de ma base de données. J'utilise pour cela un DetailsView.
La table est liée avec la table générée automatiquement aspnet_users via le champ user_id.
Voici le SqlDataSouce:
Et voici le code behind ajoutant le paramètre UserId à la requête Select et Update:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:csBD %>" SelectCommand="SELECT * FROM [user_data] WHERE ([UserId] = @UserId)" UpdateCommand="UPDATE [user_data] SET [nom] = @nom, [prenom] = @prenom, [adresse] = @adresse, [ville] = @ville, [pays] = @pays, [zip] = @zip WHERE [UserId] = @UserId"> <UpdateParameters> <asp:Parameter Name="nom" Type="String" /> <asp:Parameter Name="prenom" Type="String" /> <asp:Parameter Name="adresse" Type="String" /> <asp:Parameter Name="ville" Type="String" /> <asp:Parameter Name="pays" Type="String" /> <asp:Parameter Name="zip" Type="String" /> </UpdateParameters> </asp:SqlDataSource>
Le problème que je rencontre lorsque je fais la mise à jour est le suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 protected void Page_Load(object sender, EventArgs e) { SqlDataSource1.SelectParameters.Add("UserId", Membership.GetUser().ProviderUserKey.ToString()); SqlDataSource1.UpdateParameters.Add("UserId", Membership.GetUser().ProviderUserKey.ToString()); }
The variable name '@UserId' has already been declared. Variable names must be unique within a query batch or stored procedure.
Je ne comprends pas d'ou provient cette erreur d'autant que la ligne est mise à jour correctement.
Si vous pouviez m'aider ?
Merci.
Auré![]()
Partager