我正在开发一个ASP.Net应用程序,我有一个表格如下,
DataTable dtDimnsn = (DataTable)ViewState["dtAccntDimesnDetls"];
DataTable results = dtDimnsn.Select("AccountNo = 0001").CopyToDataTable();
在某些情况下,不会有任何AccountNo = 0001的行。 那时它会抛出一个错误:
附加信息:源不包含DataRows。
如何处理此异常?
答案 0 :(得分:1)
最简单的方法是使用Linq
并在调用CopyToDataTable
之前检查是否有任何行。
var rows = dtDimnsn.AsEnumerable().Where(row => row["AccountNo"].ToString() == "0001");
DataTable results = rows.Any() ? rows.CopyToDataTable() : dtDimnsn.Clone();