首页 文章

更新数据表中的多行而不循环

提问于
浏览
1

我在应用程序中有两个带有条件的数据表,并希望对多行进行一些处理以更新列值 .

例如:

我有10000行的datatable1 . 我想通过datatable.select(“condition”)过滤行,并根据条件,我想更新行值 .

如果对于任何条件,我从数据表中找到了20行 . 我想一次更新这20条记录 . 不在任何循环中 . 我有datarow数组用于在datable中更新这些值 .

3 回答

  • 1

    要使用多个条件更新行,请使用此选项

    datatable.Select(string.Format("[lineNo]='{0}' and [Position]>='{1}' ", lineNo, Position)).ToList<DataRow>().ForEach(r => r["Linetext"] ="Sample Text" );
    
  • 0

    你可以试试下面的linq,

    DataTable recTable = new DataTable();
    
    // do stuff to populate table
    
    recTable.Select(string.Format("[code] = '{0}'", someName)).ToList<DataRow>().ForEach(r => r["Color"] = colorValue);
    

    您可以在此处替换列和值...

  • 7

    如果要使用 abc 使用 Expression 来默认列值,则可以使用以下代码 .

    dt.Columns.Add("ColumnName").Expression = "'abc'";
    

    如果您需要使用变量动态传递值,可以使用以下代码 .

    string str = "abc";
    dt.Columns.Add("ColumnName").Expression = "'" + str + "'";
    

相关问题