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à?