Ceci n'est qu'un pseudo-code de ce que vous devez faire
string cmdText = @"UPDATE t_pi_Clients
SET ClientName = @ClientName,
PostalAdd = @PostalAdd,
Telephone = @Telephone,
Fax = @Fax,
.... etc ....
WHERE ClientCode = @ClientCode";
using(MySqlConnection cn = new MySqlConnection(.....))
using(MySqlCommand cmd = new MySqlCommand(cmdText, cn))
{
cn.Open();
cmd.Parameters.AddWithValue("@ClientName", txtboxClientName.Text);
cmd.Parameters.AddWithValue("@PostalAdd", txtboxPostalAddress.Text);
....etc etc...
cmd.Parameters.AddWithValue("@ClientCode", textboxClientCode.Text);
int rowsUpdated = cmd.ExecuteNonQuery();
if(rowsUpdated > 0)
{
// extract the code that loads DataGridView1 from the Form_Load
// and create a reusable method that you could call from here
}
}
Vous construisez d'abord un texte de commande sql avec le UPDATE
clause. Je suppose que votre clé primaire (le champ qui identifie de manière unique vos enregistrements) est le ClientCode
champ.
Créez ensuite la connexion et la commande. Remplissez la collection de paramètres de commande avec les paramètres requis par votre texte en prenant les valeurs des TextBoxes.
Appelez le ExecuteNonQuery
pour stocker les valeurs.
Si vous réussissez, vous devez mettre à jour ou recharger votre datagridview. La meilleure approche serait de définir une par une les cellules gridview de la ligne actuelle avec les nouvelles valeurs des zones de texte, ou vous pouvez simplement extraire le code utilisé dans form_load pour remplir la grille et créer une nouvelle méthode que vous pourriez appeler depuis le bouton cliquez sur l'événement. (Mais cela pourrait être plus lent si vous avez de nombreux enregistrements)