sql >> Databasteknik >  >> RDS >> Mysql

Uppdatera mysql-databas från datagridview vald rad

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)




  1. Visar bild från PostgreSQL-databas, bytea

  2. villkorlig gå med i mysql

  3. MySql-variabler och php

  4. Villkor i MYSQL where klausul