Toto je jen pseudokód toho, co musíte udělat
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
}
}
Nejprve vytvoříte text příkazu sql pomocí UPDATE
doložka. Předpokládám, že váš primární klíč (pole, které jednoznačně identifikuje vaše záznamy) je ClientCode
pole.
Poté vytvořte připojení a příkaz. Vyplňte kolekci parametrů příkazu parametry vyžadovanými vaším textem s využitím hodnot z textových polí.
Zavolejte ExecuteNonQuery
pro uložení hodnot.
Pokud uspějete, musíte aktualizovat nebo znovu načíst datagridview. Nejlepším přístupem by bylo nastavit jednu po druhé buňky gridview aktuálního řádku s novými hodnotami z textových polí, nebo byste mohli jednoduše extrahovat kód použitý ve form_load k vyplnění mřížky a vytvořit novou metodu, kterou byste mohli volat z tlačítka klikněte na událost. (To by ale mohlo být pomalejší, pokud máte mnoho záznamů)