Det här är bara en pseudokod för vad du behöver göra
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
}
}
Först bygger du en sql-kommandotext med UPDATE
klausul. Jag antar att din primära nyckel (fältet som unikt identifierar dina poster) är ClientCode
fältet.
Skapa sedan anslutningen och kommandot. Fyll kommandoparametrarnas samling med parametrarna som krävs av din text och hämta värdena från TextBoxes.
Anropa ExecuteNonQuery
för att lagra värdena.
Om du lyckas måste du uppdatera eller ladda om din datagridview. Det bästa tillvägagångssättet skulle vara att ställa in gridview-cellerna i den aktuella raden en och en med de nya värdena från textrutorna, eller så kan du helt enkelt extrahera koden som används i form_load för att fylla rutnätet och skapa en ny metod som du kan anropa från knappen klicka på händelse. (Men det här kan vara långsammare om du har många poster)