sql >> Database teknologi >  >> RDS >> Mysql

Opdater mysql-database fra datagridview valgte række

Dette er blot en pseudokode for, hvad du skal gøre

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-kommandotekst med UPDATE klausul. Jeg antager, at din primære nøgle (det felt, der entydigt identificerer dine poster) er ClientCode felt.

Opret derefter forbindelsen og kommandoen. Udfyld kommandoparametersamlingen med de parametre, der kræves af din tekst, og tag værdierne fra tekstboksene.
Kald ExecuteNonQuery for at gemme værdierne.

Hvis det lykkes, skal du opdatere eller genindlæse dit datagridview. Den bedste tilgang ville være at indstille en efter en gridview-cellerne i den aktuelle række med de nye værdier fra tekstboksene, eller du kan simpelthen udtrække koden, der bruges i form_load for at udfylde gitteret og lave en ny metode, som du kan kalde fra knappen klik på begivenhed. (Men dette kunne være langsommere, hvis du har mange poster)




  1. angivelse af klassesti for selvstændig jython

  2. Sådan importeres en SQL-fil ved at bruge mysqldump på Windows via kommandolinjen

  3. Angivelse af specifikke felter med Sequelize (NodeJS) i stedet for *

  4. Sådan opsætter du asynkron replikering mellem MySQL Galera-klynger