服务器不定时出现 .net 错误(无法找到表0),求大家帮忙。

来源:百度知道 编辑:UC知道 时间:2024/05/20 07:47:48
问题不是总出现,时而出现不能装载dataset数据的问题。
错误如下:
无法找到表 0。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.IndexOutOfRangeException: 无法找到表 0。

源错误:
行 535: if (DA.QueryOperation(sql,out ds))
行 536: {
行 537: if(ds.Tables[0].Rows.Count>0)
行 538: return ds.Tables[0].Rows[0]["Path"].ToString();
行 539: else
问题补充:有时可以,有时不行,也就是说有的时候填充dataset,有的时候则没有。另外每次操作我都把connection关闭了,应该不是连接的问题。谢谢!

你单步调试下 看535行 sql 语句是什么 再仔细查查
建议不给表名取中文、
数据库放的绝对路径、不要有中文不要有空格.
再试验下.

是否你的表名是动态变换的?
是否你在ds里把库表起了别的名字?

你的程序是 有数据才返回 (填充)
那如果没有数据呢. count=0 就...

在仔细调试一下吧.

不要用table[0]的方式,用名称代替

重装系统吧兄弟 中病毒了

最好用XML的schema先定一下格式.然后再将数据读取到数据集的tables集合中.然后再取的话就不会出现无法找到Table[0]了.其实根本原因是出现在SQL 2000上..

建议:使用SQL2005的Broker服务..这种服务可以让你不再出现这样的问.具体如果使用.就去看看MSDN吧.so easy.

这个问题我遇到过,是因为你的ds根本没FILL进去数据,里面是空的,当然找不到表了,你仔细看一下你的sql字符串