无法使用datatable.select复制数据表

时间:2013-12-27 00:49:15

标签: c# .net datatable

我想创建一个数据表的副本。我不确定这样做的正确方法是什么。所以,我决定使用

DataTable filteredData = sourceDataTable.Select(expression).CopyToDataTable();

如本文所述 - How to pass DataTable.Select() result to a new DataTable?

我尝试通过设置expression =“where'TRUE'='TRUE'”来使用它。我希望这不会过滤原始数据表中的任何行,即完整副本。但是,我收到了错误 - System.Data.SyntaxErrorException:语法错误:''TRUE''运算符后缺少操作数。

如何轻松复制数据表?

2 个答案:

答案 0 :(得分:3)

您可以使用DataTable.Copy方法。

  

复制创建一个新的DataTable,其结构和数据与原始DataTable相同。

var copiedDataTable = sourceDataTable.Copy();

答案 1 :(得分:2)

从Winney响应开始,您可以使用DataTable.Copy(可能是您的最佳选择),但如果您仍想使用Select,则不要传递任何过滤器表达式

 DataTable filteredData = sourceDataTable.Select().CopyToDataTable();

DataTable.Select有一个不接受任何参数的重载因此选择DataTable中存在的所有内容