myTbl=ds.Tables[0];
改myTbl=ds.Tables["tae"].copy();

解决方案 »

  1.   

    if (!IsPostBack)
    {
    SqlConnection con=new SqlConnection("server=sr028;uid=*;pwd=*;database=*");
    string strsql="******* ";
    SqlDataAdapter da=new SqlDataAdapter(strsql,con);
    DataSet ds=new DataSet();
    da.Fill(ds,"tae");
    int pp1=ds.Tables["tae"].Rows.Count;             
    DataTable myTbl;
    myTbl=ds.Tables[0];
    int pp=myTbl.Rows.Count;
    this.DataGrid1.DataSource=myTbl.DefaultView;
    this.DataGrid1.DataBind();
    }以上的做法pp1,pp  是相同的。
      

  2.   

    to ETstudio(外星人) 
    结果是一样的。
      

  3.   

    ds2.Tables.Add("myTbl");
    这句我想应该是ds2.Tables.Add(myTbl);int pp=ds2.Tables[0].Rows.Count;
      

  4.   

    还有个问题:有个方法返回的类型是DataTable,我用一个变量接收后,出错。
    DataTable ta=oa.oa003w13_read(1,"","");
    if (ta.Rows.Count>=1)   ----------也会出错
    {*******}
    这样做有什么不对吗?
      

  5.   

    ds2.Tables.Add("myTbl");
    int pp=ds2.Tables["myTbl"].Rows.Count;

    ds2.Tables.Add(myTbl);
    int pp=ds2.Tables[0].Rows.Count;
      

  6.   

    int pp=ds2.Tables["myTbl"].Rows.Count;

    int pp=ds2.Tables[0].Rows.Count;
    ds2中如果只有一个表的话,Tables[0]同Tables["myTbl"]不是一样的吗?
      

  7.   

    ms-help://MS.VSCC/MS.MSDNVS.2052/cpguide/html/cpconaddingdatatabletodataset.htm

    DataTable ordersTable = custDS.Tables.Add("Orders");添加表要引号的。
      

  8.   

    int pp=ds2.Tables["myTbl"].Rows.Count;

    int pp=ds2.Tables[0].Rows.Count;
    ds2中如果只有一个表的话,Tables[0]同Tables["myTbl"]不是一样的吗?
    ------------------------------------------------------------------
    问题的焦点不在此,
    ds2.Tables.Add("myTbl");//这句是添加一个表名为"myTbl"的新表
    ds2.Tables["myTbl"].Rows.Count总是0
    ds2.Tables.Add(myTbl);//这句才是添加前面定义的myTbl表,而myTbl你没有指定表名,
    所以,只能ds2.Tables[0].Rows.Count
    如果DataTable dt1 = new DataTable("myTbl");
    ds2.Tables.Add(dt1);
    ds2.Tables["myTbl"]就可以了  
     
      

  9.   

    to marising(垃圾桶) 
    首先很感谢你的参与。
    我重新测试:
    如下:
    SqlConnection con=new SqlConnection("server=localhost;uid=*;pwd=*;database=*");
    string strsql="select * from t_Templet ";
    SqlDataAdapter da=new SqlDataAdapter(strsql,con);
    DataSet ds=new DataSet();
    da.Fill(ds,"table1");
    int row_count1=ds.Tables["table1"].Rows.Count;
    DataTable table2=new DataTable();
    table2=ds.Tables["table1"];
    DataSet ds2=new DataSet();
    ds2.Tables.Add(table2);
    int row_count2=ds2.Tables[0].Rows.Count;
    this.DataGrid1.DataSource=ds2.Tables["table2"].DefaultView;
    this.DataGrid1.DataBind();
    其中:ds2.Tables.Add(table2)---出错:DataTable 已属于另一个 数据集
          如果改成:ds2.Tables.Add(“table2”)的话row_count2=0
      

  10.   

    DataSet ds=new DataSet();
    da.Fill(ds,"table1");
    int row_count1=ds.Tables["table1"].Rows.Count;
    DataSet ds2=new DataSet();
    ds1.Merge(ds);//这样合并,不能直接添加,我上面只是指出问题所在,呵呵.
    int row_count2=ds2.Tables[0].Rows.Count;
    this.DataGrid1.DataSource=ds2.Tables["table2"].DefaultView;
    this.DataGrid1.DataBind();
    有其他问题发短信息给我