Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 空行的CopyToDataTable()_.net_Linq_Linq To Sql - Fatal编程技术网

.net 空行的CopyToDataTable()

.net 空行的CopyToDataTable(),.net,linq,linq-to-sql,.net,Linq,Linq To Sql,下面代码的第CopyToDataTable()行在没有行可用时抛出错误,如何处理 <WebMethod()> _ Public Shared Function GetContestants() As String Dim dttemp As DataTable currentCount += pageSize dttemp = dtContestantList.Rows.Cast(Of System.Data.DataRow)().Skip(currentCo

下面代码的第CopyToDataTable()行在没有行可用时抛出错误,如何处理

<WebMethod()> _
Public Shared Function GetContestants() As String
    Dim dttemp As DataTable
    currentCount += pageSize
    dttemp = dtContestantList.Rows.Cast(Of System.Data.DataRow)().Skip(currentCount).Take(pageSize).CopyToDataTable()
    Return GetJson(dttemp)
End Function
_
作为字符串的公共共享函数getCompetities()
Dim dttemp As数据表
currentCount+=页面大小
dttemp=DTLIST.Rows.Cast(属于System.Data.DataRow)().Skip(当前计数).Take(页面大小).CopyToDataTable()
返回GetJson(dttemp)
端函数

您只需首先检查:

Dim rows = dtContestantList.Rows.Cast(Of System.Data.DataRow)().Skip(currentCount).Take(pageSize)
If rows.Any() Then
    dttemp = rows.CopyToDataTable()
    Return GetJson(dttemp)
Else
    Return ""  
End If 
可能的例外情况

  • ArgumentNullException
    源IEnumerable序列为空,无法创建新表
  • 无效操作异常
    • 源序列中的数据行的状态为“已删除”
    • 源序列不包含任何DataRow对象。
    • 源序列中的数据行为空

请注意,在ASP.NET多线程环境中,使用共享/静态
DataTables
时应小心。它不是线程安全的。您应该仅将其用于查找。

您只需先检查:

Dim rows = dtContestantList.Rows.Cast(Of System.Data.DataRow)().Skip(currentCount).Take(pageSize)
If rows.Any() Then
    dttemp = rows.CopyToDataTable()
    Return GetJson(dttemp)
Else
    Return ""  
End If 
可能的例外情况

  • ArgumentNullException
    源IEnumerable序列为空,无法创建新表
  • 无效操作异常
    • 源序列中的数据行的状态为“已删除”
    • 源序列不包含任何DataRow对象。
    • 源序列中的数据行为空

请注意,在ASP.NET多线程环境中,使用共享/静态
DataTables
时应小心。它不是线程安全的。您应该仅将其用于查找。

这不是LINQ to SQL。。。但是:什么错误?它说了什么?顺便说一句,不相关:但是-这个方法表明DTMaterialList是一个静态(“共享”)数据表-如果您计划对tht数据表进行更改,请非常小心-它不是线程安全的错误说:源不包含数据行。这个异常被记录:这不是LINQ到SQL。。。但是:什么错误?它说了什么?顺便说一句,无关:但是-此方法表明DTMaterialList是一个静态(“共享”)数据表-如果您计划对tht数据表进行更改,请非常小心-它不是线程安全的错误说明:源不包含数据行。该异常记录如下: