Pourquoi je ne peux pas mettre à jour ma table SQL Server en utilisant ce code?

Actuellement, je fais une programmation pour un site web utilisant asp.net qui extrait et met à jour datatables de Microsoft SQL Server.

En ce moment j'ai besoin de mettre à jour certaine valeur dans certaine colonne dans certaine table, mais ma mise à jour SqlCommand ne fonctionne pas. Je fais déjà des searchs sur internet mais ça ne marche pas. Il n'y a pas d'erreur, mais la valeur dans la table du server SQL dans la colonne WeightageFactor sur la ligne Criticality n'a pas été mise à jour lorsque j'ai cliqué sur le button. J'utilise cette requête SQL et ça marche très bien:

 UPDATE dbo.HullPoF SET WeightageFactor = 0.10 WHERE Criticality = 'Fatigue Loading' 

C'est mon code:

 protected void btnSubmitPoF_Click(object sender, EventArgs e) { conn1 = new SqlConnection(ConfigurationManager.ConnectionSsortingngs["myDBconn1"].ConnectionSsortingng); commPoF = new SqlCommand("UPDATE dbo.HullPoF SET WeightageFactor = @WF WHERE Criticality='Fatigue Loading'", conn1); commPoF.Parameters.Add("@WF", System.Data.SqlDbType.NVarChar).Value = txtWFFatLoad.Text; ; conn1.Open(); commPoF.ExecuteNonQuery(); conn1.Close(); } 

Quel est le problème avec mon code? L'une des solutions que j'essaie d'utiliser provient de la table Update utilisant SqlCommand dans asp.net

La valeur actuelle est 0,20 et je veux changer à 0,10

p / s: Ceci est ma première question sur ce site. Si le format de ma question est incorrect, dites-le moi.

J'ai répliqué votre problème et la syntaxe est correcte. Vérifiez la string de connection.

replace

 commPoF.Parameters.Add("@WF", System.Data.SqlDbType.NVarChar).Value = txtWFFatLoad.Text; 

avec

 commPoF.Parameters.AddWithValue("@WF", txtWFFatLoad.Text); 

Si WeightageFactor est double , convertissez-le et envoyez-le aux parameters

 double WF = double.Parse( txtWFFatLoad.Text); commPoF.Parameters.Add("@WF", SqlDbType.Float); commPoF.Parameters["@WF"].Value = WF; 

Si WeightageFactor est une string , utilisez

 commPoF.Parameters.AddWithValue("@WF",txtWFFatLoad.Text); 

Après avoir passé en revue à travers des centaines de lignes de code dans le projet en particulier dans Page_Load, il semble que le problème était quelque chose à voir avec la fonction Post Back.

Tout ce que j'ai à faire est de mettre

if(!IsPostBack) { }

à une partie de mon code dans Page_Load

Désolé de perdre tout le monde avec mon erreur idiote.