连接多个数据库进行查询,并将结果在DataGridView中显示出来
需求:需要连接多个数据库,每次查询的列都是一样的,然后将结果在DataGridView中一次性显示出来,
我最初的想法是:
DataTable为一个成员变量;
使用OracleDataAdapter,填充DataSet; //第一步
再将DataSet的所有行添加到DataTable中; //第二步
......第查询一个数据库,重复一次第二步
DataGridView.DataSource = DataTable; //第三步
问题:
第二步如何实现呢?好像一般都是反过来的,即将DataTable的所有行添加DataSet,我使用以下代码,是不行的:
m_DataTable.Rows.Add(OracleDB.Instance.CurrentDataSet.Tables[tableName].Rows);
------解决方案--------------------第一,你可以将多个数据组合成一个datatable,然后绑定给grid
第二,不绑定数据,循环每次得到的数据,动态添加到grid上,Rows.Add,然后对每个单元格赋值
------解决方案--------------------两个数据库返回两个List<T>,再通过linq关联查询出一个新的list.ToList(),gridView.datasource=list;
------解决方案-------------------- 再将DataSet的所有行添加到DataTable中; //第二步
第二步你理解错了吧。。。。
DataTable dt=DataSet.Table["Name"] 就行了