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.