如果我有一个名为myDs的DataSet,我在循环中编辑一个字段,如下所示:
for (int i = 0; i < myDS.Tables[TableName].Rows.Count; i++)
{
//some function or web method to get the id value of the record being updated
int n = getNewNumber();
//updating the dataset record according to some condition
if (n == 0)
{
myDS.Tables[TableName].Rows[i]["id"] = n;
myDS.Tables[TableName].Rows[i]["description"] = "some data";
}
else
{
myDS.Tables[TableName].Rows[i]["id"] = n;
myDS.Tables[TableName].Rows[i]["description"] = "new data";
}
}
我如何在数据库中完成这些更改,因为当我执行databind()时,我可以在GridView中看到它,但数据库不受影响,我尝试使用fill&amp;更新OdbcDataAdapter和OdbcCommandBuilder的方法?
答案 0 :(得分:1)
尝试本文中显示的TableAdapter.Update过程:How to: Update Records in a Database。
此外,请确保您不仅可以访问要连接的数据库,还可以更新所需表中的记录。您可能遇到阻止代码更新的SQL Server配置问题。
答案 1 :(得分:0)
因为它是odbc,你可以使用OdbcDataAdapter
;然后致电:
adapter.Update(myDS.Tables[TableName]);
免责声明:就个人而言,我从不使用DataSet ...... YMMV。
答案 2 :(得分:0)
你应该在循环后键入两行
myDS.AcceptChanges();
adapter.Update(myDS.Tables[TableName]);