datagridview更改数据源的问题
三个表 
 A表:ID1   name1      add1 
 B表:ID2   name2      add2 
 C表:ID3   name3      add3   
 一个datagridview   
 commstr= "select   *   from   A ";                                                   //查询语句 
 da   =   new   SqlDataAdapter(commstr,   conn);            //SqlDataAdapter 
 da.Fill(ds, "table ");                                                                     //填充DATASET                                     
 dataGridView1.DataSource=ds.Tables[ "table "];//数据显示在窗体中   
 问题:当改变查询的表时,也就是把= "select   *   from   A“改成= "select   *   from   B”在窗体中显示的数据列就变成了A和B所有的列,再改成C时,就变成ABC所有的列。请问,任何在改变表名的时候,窗体只显示选择的表内容呢?   
 下边的方法试了,不行。 
 commstr   =    "select         *         from       "   +   biaoming; 
 da   =   new   SqlDataAdapter(commstr,   conn); 
 da.Fill(ds, "table "); 
 ds.Tables[ "table "].Clear();                              //清空 
 da.Fill(ds,    "table "); 
 dataGridView.DataSource=ds.Tables[ "table "];     
------解决方案--------------------clear(),只是内存清空。   
 而FILL是物理加载,   
 你每次是物理加载,那你必须物理清空,物理清空请用delete命令。