Dit is slechts een pseudocode van wat u moet doen
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
}
}
Eerst bouw je een sql-opdrachttekst met de UPDATE
clausule. Ik neem aan dat uw primaire sleutel (het veld dat uw records op unieke wijze identificeert) de ClientCode
is veld.
Maak vervolgens de verbinding en de opdracht. Vul de verzameling opdrachtparameters met de parameters die nodig zijn voor uw tekst en neem de waarden uit de tekstvakken.
Bel de ExecuteNonQuery
om de waarden op te slaan.
Als het je lukt, moet je je datagridview updaten of opnieuw laden. De beste aanpak zou zijn om de gridview-cellen van de huidige rij één voor één in te stellen met de nieuwe waarden uit de tekstvakken, of u kunt eenvoudig de code extraheren die in form_load wordt gebruikt om het raster te vullen en een nieuwe methode te maken die u met de knop kunt aanroepen klik op evenement. (Maar dit kan langzamer zijn als je veel records hebt)