如果我用DataAdapter.Fill(DataTable);填充数据表,然后使用类似以下的简单内容对数据表中的行进行更改:DataTable.Rows[0]["Name"] = "New Name";我如何轻松地将这些更改保存回数据库?我以为我可以调用DataAdapter.Update(DataTable);,但我读到它仅适用于TableAdapter(?)。

最佳答案

这是一个实际的有用答案,以防其他人需要知道如何执行此操作:

string selectStatement = "SELECT * FROM Contact";
System.Data.DataTable dt = new System.Data.DataTable();
SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString);
conn.Open();
SqlDataAdapter sqlDa = new SqlDataAdapter();
sqlDa.SelectCommand = new SqlCommand(selectStatement, conn);
SqlCommandBuilder cb = new SqlCommandBuilder(sqlDa);
sqlDa.Fill(dt);
dt.Rows[0]["Name"] = "Some new data here";
sqlDa.UpdateCommand = cb.GetUpdateCommand();
sqlDa.Update(dt);

10-04 17:28