Tous les loggings mis à jour avec la même valeur lors de la mise à jour de l'logging

J'ai mis à jour la database sql en utilisant la textbox c # mais tous les loggings mis à jour avec la même valeur que j'ai entré dans cette textbox. où j'ai mal fait.

Ci-dessous mon code

private void btnsave_Click(object sender, EventArgs e) { try { ssortingng connectionSsortingng = (@"Data Source = M2\SQL2016; Initial Catalog = inventoryDB; Integrated Security = True"); using (SqlConnection conn = new SqlConnection(connectionSsortingng)) { conn.Open(); using (SqlCommand cmd = new SqlCommand("UPDATE companyDB SET compname=@label3", conn)) { cmd.Parameters.AddWithValue("@label3", cmpname.Text); int rows = cmd.ExecuteNonQuery(); } } } catch (Exception ex) { MessageBox.Show("Not Updated"); } 

Vous devez définir la clause where ici pour filterr les loggings qui doivent être mis à jour. La clause WHERE est utilisée pour extraire uniquement les loggings qui remplissent un critère spécifié. Voir l'exemple suivant qui filter en fonction de la colonne id:

 new SqlCommand("UPDATE companyDB SET compname=@label3 where id = @id", conn)) 

Et:

 cmd.Parameters.AddWithValue("@id", id.Text); 

Bien que le type soit spécifié directement et que la propriété Value soit meilleure que AddWithValue :

 cmd.Parameters.Add("@label3", SqlDbType.VarChar).Value = cmpname.Text; 

Vérifiez également ici: Pouvons-nous arrêter d'utiliser AddWithValue () déjà?