将DataTable更新到MySql数据库C#

时间:2012-07-05 01:17:38

标签: c# mysql

我有一个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做一些事情之后,我想将它更新到DataBase,我该怎么做?我搜索了谷歌页面,但几乎通过循环数据表进行更新。有没有办法在没有循环的情况下更新整个数据表?请帮忙!感谢您的阅读

2 个答案:

答案 0 :(得分:4)

您需要配置DataAdapter的SelectCommandDeleteCommandUpdateCommandInsertCommand属性。您可以使用MySqlCommandBuilder填充三个命令对象(选择,删除,更新)。

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);

答案 1 :(得分:0)

嘿看看这个链接:下面 http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldataadapter.updatecommand.aspx

专注于他们提供的示例,并完成他们在示例中所做的事情,您将拥有 您的select,delete和insert命令可立即配置:)

哦...差点忘了做一个查找全部并将“sql”替换为“mysql”:)