如何使用LINQ C#更新数据表中的datarow?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用LINQ C#更新数据表中的datarow?相关的知识,希望对你有一定的参考价值。
我想在某些条件下更新datatable
(dtTaskandBugs)。
当id(这是Datatable的一列)作为参数传递给function
GetStoryid时,想要更新数据表中所有行的storyid。这是我的代码下面它没有工作(没有发生)
dtTaskandBugs.Select(string.Format("Storyid = '{0}'", dtTaskandBugs.Rows)).ToList<DataRow>().ForEach(
r =>
{
r["Storyid"] = GetStoryid(r["Id"]);
});
答案
错误在这里:
string.Format("Storyid = '{0}'", dtTaskandBugs.Rows)
您将此表中的行数作为参数传递给过滤行的DataTable.Select
,因此可能不会返回任何行。
我建议一个简单的foreach
循环,因为你想要更新所有行:
foreach(DataRow row in dtTaskandBugs.Rows)
row ["Storyid"] = GetStoryid(row["Id"]);
以上是关于如何使用LINQ C#更新数据表中的datarow?的主要内容,如果未能解决你的问题,请参考以下文章
C# 中的GetEnumerator方法,C# DataTable几个常用的查询表达式,C#的lINQ怎么用干啥用的
错误:当传递带有修改行的 DataRow 集合时,更新需要有效的 UpdateCommand