sql >> Database >  >> RDS >> Mysql

Update mysql-database van datagridview geselecteerde rij

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)




  1. Een web-app maken die offline kan werken, gegevens kan opslaan en deze vervolgens kan synchroniseren met MySQL op afstand wanneer u online bent?

  2. MYSQL:LANG tekenreeksvariabelen definiëren of ophalen

  3. Kan een externe sleutel NULL en/of duplicaat zijn?

  4. Combineer de resultaten van twee niet-gerelateerde zoekopdrachten in één weergave