Questo è solo uno pseudocodice di ciò che devi fare
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
}
}
Per prima cosa costruisci un testo di comando sql con UPDATE
clausola. Presumo che la tua chiave primaria (il campo che identifica in modo univoco i tuoi record) sia il ClientCode
campo.
Quindi creare la connessione e il comando. Riempi la raccolta dei parametri del comando con i parametri richiesti dal tuo testo prendendo i valori dalle caselle di testo.
Chiama il ExecuteNonQuery
per memorizzare i valori.
Se ci riesci, devi aggiornare o ricaricare il tuo datagridview. L'approccio migliore sarebbe impostare una per una le celle gridview della riga corrente con i nuovi valori dalle caselle di testo, oppure potresti semplicemente estrarre il codice utilizzato in form_load per riempire la griglia e creare un nuovo metodo che potresti chiamare dal pulsante fare clic su evento. (Ma questo potrebbe essere più lento se hai molti record)