楼主有一种笨办法你可以试试你可以在sda.Fill(ds,newdingdan),
sda.Fill(ds,newdingdan2)
也就是说一个ds,可以添充多个表,分别取名。但是你的sql,一次要提取一张表。不知道是否可以给表名取个数组然后在Fill的时候直接给表名

解决方案 »

  1.   

    晕:似乎直接写表名就可以。
    楼主试一下吧。写表名里加上双引号ds.Tables["newdingdan"]
    ds.Tables["newdingdan2"]
      

  2.   

     sda.Fill( ds,"newdingdan1");
    sda.Fill(ds,"newdingdan2");
    this.dataGridView1.DataSource = ds.Tables["newdingdan1"];          
    this.dataGridView2.DataSource = ds.Tables["newdingdan2"];这样的话,第二张表和第一张表的内容一样
      

  3.   

    sda.Fill( ds,"newdingdan1"); 
    sda.Fill(ds,"newdingdan2"); 
    this.dataGridView1.DataSource = ds.Tables["newdingdan1"];          
    this.dataGridView2.DataSource = ds.Tables["newdingdan2"]; 这样的话,第二张表和第一张表的内容一样
    原因是使用了一个适配器。第二个sql需再声明一个适配器。
    如:sda1.Fill(ds,"newdingdan2"); 
      

  4.   


    ds.Fill( ds,"name"); 
    ds.Fill(ds,"name1"); 
    this.dataGridView1.DataSource = ds.Tables["name"];          
    this.dataGridView2.DataSource = ds.Tables["name1"]; 
      

  5.   


    DataSet ds = new DataSet();
                DataTable dt1;
                DataTable dt2;
                dt1.TableName = "table1";
                dt2.TableName = "table2";
                ds.Merge(dt1);
                ds.Merge(dt2);            //访问的时候就直接可以用表名啦
                DataTable mydt = ds.Tables["table1"];