当前位置:编程学习 > C#/ASP.NET >>

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

行 67:         PagedDataSource objpage = new PagedDataSource();
行 68:         objpage.DataSource = dst.Tables[0].DefaultView;
行 69:         objpage.AllowPaging = true;
行 70: 


[IndexOutOfRangeException: 无法找到表 0。]
   System.Data.DataTableCollection.get_Item(Int32 index) +60
   News_Default.datalistbind(DataSet dst) in d:\6\News\News_Class.aspx.cs:68
   News_Default.bind() in d:\6\News\News_Class.aspx.cs:52
   News_Default.Page_Load(Object sender, EventArgs e) in d:\6\News\News_Class.aspx.cs:35
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +34
   System.Web.UI.Control.OnLoad(EventArgs e) +99
   System.Web.UI.Control.LoadRecursive() +47
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061
 
--------------------编程问答-------------------- 很明显,你的DataSet为空,没包含有DataTable。 --------------------编程问答-------------------- DataSet中没有数据!

设断点,看一下相应的SQL语句在查询分析器中是否有数据返回! --------------------编程问答-------------------- 同上 --------------------编程问答-------------------- dst中没有表.
--------------------编程问答-------------------- private void bind()
    {
        try
        {
            string sql = "";
            Exc_sql.Open();

            sql = "select * from News where NewsClass in (" + JWC_DB.ParentPath(Convert.ToInt16(ID), "NewsClass") + ") and YX_NewsSH=1 order by YX_Stat2=1,YX_Stat3=1,YX_ID desc";

            JWC_DB Chp = new JWC_DB();
            DataSet ds = Chp.Db_ds(sql,"News");
            this.dg1.DataSource = datalistbind(ds);
            this.dg1.DataBind();
        }
       
        finally
        {

            Exc_sql.Close();

        }

这个问题困扰我四天了,原来是ACCESS数据库,现在改SQL数据库就出现这样的问题.
虽然我已经用其他的方法重写了,但是对于我这样的新手来说,觉得应该把问题根源找到才行
毕竟这对代码我是照着别人写的,而且为什么ACCESS数据库换成SQL就出现这样的问题了呢.
在上面我已经向大家咨询过3次,但是最终都没有解决这个,希望大家找找到底是哪里错了。


逐行查找,这断出现的没有找到表 0. --------------------编程问答-------------------- 有同样的困惑...亟待解决... --------------------编程问答-------------------- 看下你的sql在查询分析器里能否执行 --------------------编程问答-------------------- 应该是Dataset里面没有数据吧
可以自己写一个啊,不难的啊 --------------------编程问答-------------------- dataset 没有数据  

--------------------编程问答-------------------- 无法找到表,很明显 --------------------编程问答-------------------- 我也很晕。
不让我用表。
我真是无语了。
--------------------编程问答-------------------- 判断dst 是否为null
--------------------编程问答-------------------- DataSet里没有任何DataTable,即使DataTable为空也不会报这种错误的。 --------------------编程问答-------------------- DataSet数据集里没有数据 --------------------编程问答-------------------- 咋那么多人喜欢刨坟 --------------------编程问答-------------------- dst中没有表.  --------------------编程问答-------------------- 1.数据库中没有数据!
2.查询语句错误!
3.....

在使用之前判断数据是否为空!!
--------------------编程问答-------------------- 我也有这样的疑惑!有关高手帮我看看呗!

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

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

源错误: 


行 60:         TreeView1.Nodes.Add(rootNode);
行 61: 
行 62:         DataTable dt = DataHelper.PhClasses().GetPhClassList();
行 63:         AddNote(dt, rootNode, 0); ;
行 64:         TreeView1.ExpandAll();
 

源文件: h:\37\ph\admin\PHClass.aspx.cs    行: 62 

堆栈跟踪: 


[IndexOutOfRangeException: 无法找到表 0。]
   System.Data.DataTableCollection.get_Item(Int32 index) +79
   Shop.bussiness.PhClasses.GetPhClassList(String strCond) in G:\37\ph.bussiness\PhClasses.cs:109
   Shop.bussiness.PhClasses.GetPhClassList() in G:\37\ph.bussiness\PhClasses.cs:113
   admin_Default.InitTree() in h:\37\ph\admin\PHClass.aspx.cs:62
   admin_Default.Page_Load(Object sender, EventArgs e) in h:\37\ph\admin\PHClass.aspx.cs:21
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +13
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +45
   System.Web.UI.Control.OnLoad(EventArgs e) +80
   System.Web.UI.Control.LoadRecursive() +49
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3745

 

--------------------编程问答-------------------- dataset没有被填充.... --------------------编程问答--------------------
[IndexOutOfRangeException: 无法找到表 0。]
   System.Data.DataTableCollection.get_Item(Int32 index) +92
   WebApp.SqlClient.Sql_news_content.GetAll(String Fields, String StrWhere, String OrderBy, Int32 Totals) +405
   WebApp.Bll.Bllnews_content.GetAll(String Fields, String Swhere, String OrderBy, Int32 Totals) +74
   WebApp.Booking._Default.initinfo() +218
   WebApp.Booking._Default.Page_Load(Object sender, EventArgs e) +58
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
   System.Web.UI.Control.OnLoad(EventArgs e) +99
   System.Web.UI.Control.LoadRecursive() +50
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627

 

如何解决? --------------------编程问答-------------------- 上面的几位都把出错的原因说了。你要自己美看出来的话,把代码发出来,不要只发这个
      PagedDataSource   objpage   =   new   PagedDataSource(); 
                objpage.DataSource   =   dst.Tables[0].DefaultView; 
               objpage.AllowPaging   =   true; 
把你的dst怎么获得的,里面的方法,发出来。
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,