Това е просто псевдокод на това, което трябва да направите
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
}
}
Първо създавате sql команден текст с UPDATE
клауза. Предполагам, че вашият първичен ключ (полето, което уникално идентифицира вашите записи) е ClientCode
поле.
След това създайте връзката и командата. Попълнете колекцията от параметри на командите с параметрите, изисквани от вашия текст, като вземете стойностите от TextBoxes.
Извикайте ExecuteNonQuery
за съхраняване на стойностите.
Ако успеете, тогава трябва да актуализирате или презаредите своя datagridview. Най-добрият подход би бил да зададете една по една клетките на gridview на текущия ред с новите стойности от текстовите полета или можете просто да извлечете кода, използван във form_load, за да запълните мрежата и да създадете нов метод, който можете да извикате от бутона щракнете върху събитие. (Но това може да е по-бавно, ако имате много записи)