如何处理“附加信息:源不包含DataRows”。

时间:2017-10-08 12:53:05

标签: asp.net exception datatable

我正在开发一个ASP.Net应用程序,我有一个表格如下,

   DataTable dtDimnsn = (DataTable)ViewState["dtAccntDimesnDetls"];

   DataTable results = dtDimnsn.Select("AccountNo = 0001").CopyToDataTable();

在某些情况下,不会有任何AccountNo = 0001的行。 那时它会抛出一个错误:

  

附加信息:源不包含DataRows。

如何处理此异常?

1 个答案:

答案 0 :(得分:1)

最简单的方法是使用Linq并在调用CopyToDataTable之前检查是否有任何行。

var rows = dtDimnsn.AsEnumerable().Where(row => row["AccountNo"].ToString() == "0001");
DataTable results = rows.Any() ? rows.CopyToDataTable() : dtDimnsn.Clone();