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

Aggiorna il database mysql dalla riga selezionata di datagridview

Questo è solo uno pseudocodice di ciò che devi fare

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
    }
}

Per prima cosa costruisci un testo di comando sql con UPDATE clausola. Presumo che la tua chiave primaria (il campo che identifica in modo univoco i tuoi record) sia il ClientCode campo.

Quindi creare la connessione e il comando. Riempi la raccolta dei parametri del comando con i parametri richiesti dal tuo testo prendendo i valori dalle caselle di testo.
Chiama il ExecuteNonQuery per memorizzare i valori.

Se ci riesci, devi aggiornare o ricaricare il tuo datagridview. L'approccio migliore sarebbe impostare una per una le celle gridview della riga corrente con i nuovi valori dalle caselle di testo, oppure potresti semplicemente estrarre il codice utilizzato in form_load per riempire la griglia e creare un nuovo metodo che potresti chiamare dal pulsante fare clic su evento. (Ma questo potrebbe essere più lento se hai molti record)