程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了DataTableReader对于当前DataTable'TempTable'无效大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决DataTableReader对于当前DataTable'TempTable'无效?

开发过程中遇到DataTableReader对于当前DataTable'TempTable'无效的问题如何解决?下面主要结合日常开发的经验,给出你关于DataTableReader对于当前DataTable'TempTable'无效的解决方法建议,希望对你解决DataTableReader对于当前DataTable'TempTable'无效有所启发或帮助;

我认为使用while(reader.read())可能会解决您的问题。

if (myReader.HasRows)
   while (myReader.Read())
     Console.Writeline("\t{0}\t{1}", myReader.GeTint32(0), myReader.Get@R_674_10495@ng(1));
else
   Console.Writeline("No rows returned.");
myReader.Close();

也来自msdn:HasRows属性返回有关当前结果集的信息。如果DatatableReader包含多个结果集,则可以在调用NextResult方法之后立即检查HasRows属性的值,以确定新结果集是否包含行。

如果当前结果集中没有行,请使用HasRows属性避免要求调用DatatableReader的Read方法。

DataTableReader.HasRows属性

解决方法

每当我的代码从有效的DataTable对象创建DataTableReader时,都会出现以下错误:

“ DataTableReader对于当前DataTable’TempTable’无效。”

问题是,如果我重新启动计算机,则在不确定的时间内它可以正常工作,然后死于上面的情况。引发此错误的代码可以正常运行几个小时,然后:砰。您会收到此错误。它也不限于一行。它是使用DataTableReader的每个位置。另外,生产Web服务器上永远不会发生此错误。

这在一周的大部分时间里一直让我发疯,而且我在Google上找不到任何可以帮助的东西(因为我很肯定,这不是编码问题)。

一些技术信息:

DEV Box:Vista 32位(具有所有当前的Windows更新)Visual studio 2008 v9.0.30729.1 SP dotNet
Framework 3.5 SP1

SQL Server:Microsoft SQL Server 2005标准版-9.00.4035.00(X64)Windows 2003
64位(具有所有当前的Windows更新)

Web服务器:Windows 2003 64位(具有所有当前的Windows更新)

任何帮助,想法或建议,将不胜感激!

更新1:

好的-现在尝试了以下操作,但没有成功:

1:重新启动2:SFC / ScAnnow 3:更改SQL Server 4:尝试使用DataTableReaders的另一种方法5:清洁的解决方案

我确实发现唯一可行的方法是将代码从主要Visual
studio实例复制并粘贴到另一个具有简单控制台应用程序的实例中。然后按预期方式工作(查询数据库并将结果放入dataTable中,在该表上创建了一个datatablereader,然后在调用.Read()之前查询了hasrows。所有这些工作。

我努力查看是什么原因导致的,因为没有代码错误-我100%肯定,因为它发布到Web服务器时运行良好。

大佬总结

以上是大佬教程为你收集整理的DataTableReader对于当前DataTable'TempTable'无效全部内容,希望文章能够帮你解决DataTableReader对于当前DataTable'TempTable'无效所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。