2

以下のような DataTable MyDT があります。

string MyConString = "SERVER=" + sConfig_hostname + ";" +
                "DATABASE=" + sConfig_dbname + ";" +
                "UID=" + sConfig_dbusername + ";" +
                "PASSWORD=" + sConfig_dbpassword + ";Allow Zero Datetime=true;";
            MySqlConnection connection = new MySqlConnection(MyConString);
            string sQuery="Select * from Table";
            connection.Open();
            MySqlDataAdapter myDA = new MySqlDataAdapter(sQuery, connection);
            myDA.SelectCommand.ExecuteNonQuery();
            DataTable MyDT=new DataTable()// <- My DataTable
            myDA.Fill(MyDT);
            connection.Close();
...
...
// do something with MyDT
...
...

MyDT で何かを行った後、それをデータベースに更新したいのですが、どうすればよいですか?Googleでページを検索しましたが、データテーブルをループしてほとんど更新します。ループなしでデータテーブル全体を更新する方法はありますか?助けてください! 読んでくれてありがとう

4

1 に答える 1

4

DataAdapterの、、、およびプロパティSelectCommandDeleteCommand構成UpdateCommandする必要があります。InsertCommandを使用MySqlCommandBuilderして、3つのコマンドオブジェクト(選択、削除、更新)を設定できます。

MySqlConnection connection = new MySqlConnection(MyConString);
string sQuery="Select * from Table";

MySqlDataAdapter myDA = new MySqlDataAdapter(sQuery, connection);
MySqlCommandBuilder cmb = new MySqlCommandBuilder(myDA);

DataTable MyDT = new DataTable()// <- My DataTable
myDA.Fill(MyDT);

//Add new rows or delete/update existing one
//and update the DataTable using 

myDA.Update(MyDT);
于 2012-07-05T02:21:59.587 に答える