sql >> Databasteknik >  >> RDS >> Mysql

Hur överför jag ändringarna jag har gjort i en datatabell till tabellen som jag hämtade den från?

Det handlar inte om att hålla anslutningen öppen, du måste bara använda kommandobyggaren, det är samma sak med MySql tror jag.

private MySqlDataAdapter adapt;
private DataSet someDataSet;
someDataSet = new DataSet();

    public DataSet GetCustomerData(int customerId)
    {
        using(MySqlConnection connect = new MySqlConnection(ConnString))
        {
            connect.Open();
            MySqlCommand comm = new MySqlCommand("SELECT * FROM customers WHERE Id = @0", connect);
            someDataSet.Tables.Add("CustomersTable");
            comm.Parameters.AddWithValue("@0", customerId);
            adapt.SelectCommand = comm;
            adapt.Fill(someDataSet.Tables["CustomersTable"]);
        }

        return someDataSet;
   }

Nu till uppdateringen:du kan också använda en ny adapter, men då måste du ge den ett select-kommando, baserat på det kommer kommandobyggaren att göra kommandona Infoga, Uppdatera och Ta bort.

    public void UpdateTable(DataTable table, int customerId)
    {
        using (MySqlConnection connect = new MySqlConnection(ConnString))
        {
            connect.Open();
            MySqlCommandBuilder commbuilder = new MySqlCommandBuilder(adapt);
            adapt.SelectCommand = new MySqlCommand("SELECT * FROM customers WHERE Id = "+customerId, connect); //or use parameters.addwithvalue
            adapt.Update(table);
        }
    }


  1. Hur SLUTAR man två kolumner med en serialiserad data?

  2. PL/Python &postgreSQL:Vad är det bästa sättet att returnera en tabell med många kolumner?

  3. Är sträng eller int att föredra för främmande nycklar?

  4. ladda en php-frågefil i en html-indexsida med ajax eller jquery