DataGridView中一次显示两个表中的数据

2024-12-20 18:04:09
推荐回答(5个)
回答1:

其实楼主,也不是很麻烦的哈

多一句哈

废话少说,上代码哈

    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];

效果如图哈

回答2:

好说,大概思路是把数据库的两个表的内容分别放到两个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();

基本就是这样,里面方法参数的含义你再研究一下。

回答3:

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;

回答4:

相同字段的话用union把两张表连接一起查询出来就可以了呀

回答5:

做一个视图,或在选择表和字段时,采用自己写查询语句。