“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------名为“Table”的 DataTable 已属于此 DataSet。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.DuplicateNameException: 名为“Table”的 DataTable 已属于此 DataSet。源错误: 
行 67:             DataSet ds = new DataSet();
行 68:             ds.Tables.Add(dt);
行 69:             ds.Tables.Add(dt1);
行 70: 
行 71:             ds.Relations.Add(ds.Tables["t_AllHbl"].Columns["jobno"], ds.Tables["t_JobContainer"].Columns["jobno"]);
 源文件: D:\T+T SYSTEM\TTS.Home\Document.aspx.cs    行: 69 堆栈跟踪: 
[DuplicateNameException: 名为“Table”的 DataTable 已属于此 DataSet。]
   System.Data.DataTableCollection.RegisterName(String name, String tbNamespace) +4828168
   System.Data.DataTableCollection.BaseAdd(DataTable table) +103
   System.Data.DataTableCollection.Add(DataTable table) +112
   TTS.Home.Document.BbGrid() in D:\T+T SYSTEM\TTS.Home\Document.aspx.cs:69
   TTS.Home.Document.Page_Load(Object sender, EventArgs e) in D:\T+T SYSTEM\TTS.Home\Document.aspx.cs:23
   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 
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.3603; ASP.NET 版本:2.0.50727.3082 
请高手们告之!

解决方案 »

  1.   

    dt.TableName = "ss1";
    dt1.TableName = "ss2";//和上面不能相同DataSet ds = new DataSet();
    ds.Tables.Add(dt);
    ds.Tables.Add(dt1);
      

  2.   

    检查你的dt,dt1的表名,好像你用的是t_AllHbl,和t_JobContainer?那怎么又有另一个叫"Table"的表,如果有,不要用这种命名法。还有就是在执行这个ds.tables.add之前是否ds已经有了同名的dt在里面。
      

  3.   

    行 68: ds.Tables.Add(dt);
    行 69: ds.Tables.Add(dt1);估计你dt和dt1都使用了默认表名,或者使用了一样的表名给他们在加入dataset之前,赋值不同的表名就可以了
      

  4.   

    我有定表名的:
       DataTable dt = new DataTable("t_AllHbl");不过这个表是用的视图。
      DataTable dt1 = new DataTable("t_JobContainer")
      

  5.   

    这是我的源码:
    请大家看看出了什么问题!
         private void BbGrid()
            {
                Hashtable htcol = new Hashtable();
                htcol.Add("id", "");
                htcol.Add("hblno", "");
                htcol.Add("jobstatus", "");
                htcol.Add("mode", "");
                htcol.Add("servicetype", "");
                htcol.Add("shipperdetail", "");
                htcol.Add("consigneedetail", "");
                htcol.Add("etd", "");
                htcol.Add("eta", "");
                htcol.Add("deliport", "");
                htcol.Add("weight", "");
                htcol.Add("cbm", "");
                DataTable dt = new DataTable("t_AllHbl");
                Hashtable htt = new Hashtable();
                string swhere = "(companycode='helkacd')";
                dt = IallHbl.getAllHBLList(htcol, swhere, null, htt).Copy();
                Hashtable htcolCnt = new Hashtable();
                htcolCnt.Add("id", "");
                htcolCnt.Add("jobno", "");
                htcolCnt.Add("cntno", "");
                htcolCnt.Add("sealno", "");
                htcolCnt.Add("cntsize", "");
                htcolCnt.Add("cnttype", "");
                htcolCnt.Add("weight", "");
                htcolCnt.Add("cbm", "");
                string swhereCnt = "";
                string sorderbyCnt = "";
                Hashtable httjCnt = new Hashtable();
                DataTable dt1 = new DataTable("t_JobContainer");            dt1 = IJobCon.getJobContainerList(htcolCnt, swhereCnt, sorderbyCnt, httjCnt).Copy();
                DataSet ds = new DataSet();
                ds.Tables.Add(dt);
                ds.Tables.Add(dt1);            ds.Relations.Add(ds.Tables["t_AllHbl"].Columns["jobno"], ds.Tables["t_JobContainer"].Columns["jobno"]);            Grid1.DataSource = ds;
                Grid1.DataBind();
                
            }
      

  6.   

    问题就出在这两句上面
    dt = IallHbl.getAllHBLList(htcol, swhere, null, htt).Copy();
    dt1 = IJobCon.getJobContainerList(htcolCnt, swhereCnt, sorderbyCnt, httjCnt).Copy();虽然你这样
    DataTable dt = new DataTable("t_AllHbl");
    DataTable dt1 = new DataTable("t_JobContainer");定义了表名称,但是你在Copy()后,将新DataTable实例赋给了dt喝dt1,这样原来的"t_AllHbl"和"t_JobContainer"已经被你无情的抛弃了。而且新DataTable实例有它默认的name,所以你会重复;==========================
    解决办法:

    dt = IallHbl.getAllHBLList(htcol, swhere, null, htt).Copy();
    后面加上
    dt.TableName="t_AllHbl";对于dt2同样处理。
      

  7.   

    dt = IallHbl.getAllHBLList(htcol, swhere, null, htt).Copy();����dt�Ѿ�����ԭ����DataTable dt = new DataTable("t_AllHbl");�����dt�ˣ��������¸�ֵ�ˡ�����취��
    �����������dt .TableName="sjlfajlfjlas";����dt2ͬ������
      

  8.   

    按你说的改了:出现如下错误:
    “/”应用程序中的服务器错误。
    --------------------------------------------------------------------------------“column”参数不能为空。
    参数名: column 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.ArgumentNullException: “column”参数不能为空。
    参数名: column源错误: 
    行 71:             ds.Tables.Add(dt1);
    行 72: 
    行 73:             ds.Relations.Add(ds.Tables["AllHbl"].Columns["jobno"], ds.Tables["JobContainer"].Columns["jobno"]);
    行 74: 
    行 75:             Grid1.DataSource = ds;
     源文件: D:\T+T SYSTEM\TTS.Home\Document.aspx.cs    行: 73 堆栈跟踪: 
    [ArgumentNullException: “column”参数不能为空。
    参数名: column]
       System.Data.DataKey..ctor(DataColumn[] columns, Boolean copyColumns) +1848030
       System.Data.DataRelation.Create(String relationName, DataColumn[] parentColumns, DataColumn[] childColumns, Boolean createConstraints) +86
       System.Data.DataRelation..ctor(String relationName, DataColumn parentColumn, DataColumn childColumn, Boolean createConstraints) +195
       System.Data.DataRelationCollection.Add(DataColumn parentColumn, DataColumn childColumn) +36
       TTS.Home.Document.BbGrid() in D:\T+T SYSTEM\TTS.Home\Document.aspx.cs:73
       TTS.Home.Document.Page_Load(Object sender, EventArgs e) in D:\T+T SYSTEM\TTS.Home\Document.aspx.cs:23
       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 
    --------------------------------------------------------------------------------
    版本信息: Microsoft .NET Framework 版本:2.0.50727.3603; ASP.NET 版本:2.0.50727.3082