sql >> Databáze >  >> RDS >> Mysql

Aktualizujte databázi mysql z vybraného řádku datagridview

Toto je jen pseudokód toho, co musíte udělat

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

Nejprve vytvoříte text příkazu sql pomocí UPDATE doložka. Předpokládám, že váš primární klíč (pole, které jednoznačně identifikuje vaše záznamy) je ClientCode pole.

Poté vytvořte připojení a příkaz. Vyplňte kolekci parametrů příkazu parametry vyžadovanými vaším textem s využitím hodnot z textových polí.
Zavolejte ExecuteNonQuery pro uložení hodnot.

Pokud uspějete, musíte aktualizovat nebo znovu načíst datagridview. Nejlepším přístupem by bylo nastavit jednu po druhé buňky gridview aktuálního řádku s novými hodnotami z textových polí, nebo byste mohli jednoduše extrahovat kód použitý ve form_load k vyplnění mřížky a vytvořit novou metodu, kterou byste mohli volat z tlačítka klikněte na událost. (To by ale mohlo být pomalejší, pokud máte mnoho záznamů)




  1. Syntaxe Oracle SQL:Uváděný identifikátor

  2. líný dotaz clojure.java.jdbc

  3. Jednotky data a času v MySQL (úplný seznam)

  4. SUM s pivotem pro výpočet celkového skóre