其实楼主,也不是很麻烦的哈
多一句哈
废话少说,上代码哈
SqlDataAdapter sda = new SqlDataAdapter("select * from academy", con);
DataSet ds = new DataSet();
sda.Fill(ds);
sda = new SqlDataAdapter("select * from resultstate", con);
DataSet ds1 = new DataSet();
sda.Fill(ds1);
ds1.Merge(ds, true, MissingSchemaAction.AddWithKey);//j就是多这一句哈
dataGridView1.DataSource = ds1.Tables[0];
效果如图哈
好说,大概思路是把数据库的两个表的内容分别放到两个DataTable里面,再把这两个DataTable放到一个DataSet里面,用DataRelation关系对象把两个DataTable连起来显示就ok了。
如下:
//DataTable1,DataTable2已经建好的内存数据表;DataSet1,这是建好的内存//数据库,把刚才的DataTable1,DataTable2添加进去:
DataSet1.Tables.Add(DataTable1);
DataSet1.Tables.Add(DataTable2);
//然后用DataRelation关系对象
DataRelation relation=new DataRelation("关系名字",DataTable1.Columns["列名"],DataTable2.Columns["列名"]);
GridView1.DataSource=DataSet1;
GridView1.DataBind();
基本就是这样,里面方法参数的含义你再研究一下。
DataGridView中不能直接对应两个表,
1、如果需要获取两个有相关列的表,那个使用查询语句来获取
格式如select a.字段1,a.字段2,b.字段1,b.字段2 from a join b on a.id=b.oid。
2、如果你是想将两个表中的数据加起来,那么就要使用DataTable或DataSet,用程序的方式将两个结果集添加到一个DataTable中,在绑定DataTable到DataGridView上。dgv.DataSource=dt;
相同字段的话用union把两张表连接一起查询出来就可以了呀
做一个视图,或在选择表和字段时,采用自己写查询语句。