我有一个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,我该怎么做?我搜索了谷歌页面,但几乎通过循环数据表进行更新。有没有办法在没有循环的情况下更新整个数据表?请帮忙!感谢您的阅读
答案 0 :(得分:4)
您需要配置DataAdapter的SelectCommand
,DeleteCommand
,UpdateCommand
和InsertCommand
属性。您可以使用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”:)