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命令。