asp.net中dataset如何获得多个datatable表的集合(datatable表结构相同),以实现在页面上显示所有表?

if(dt!=null&&dt.Rows.Count>0){foreach(DataRowdrindt.Rows){stringconStr=Utility.GetCon... if (dt != null && dt.Rows.Count > 0)
{
foreach (DataRow dr in dt.Rows)
{
string conStr = Utility.GetConnectionString(dr["ip"].ToString(),dr["db"].ToString(),ende.Decrypt(dr["un"].ToString()),ende.Decrypt(dr["pwd"].ToString()));
string sql = "select * from R_Count";
SqlConnection conn = new SqlConnection(conStr);
DataSet ds = new DataSet();
conn.Open();
SqlCommand cmd = new SqlCommand(sql,conn);
SqlDataAdapter ada = new SqlDataAdapter(cmd);
ada.Fill(ds);
this.GridView1.DataSource = ds;
this.GridView1.DataBind();
}
}
dt中存放了连接数据库的字符串。遍历dt中的行,连接多个服务器上的数据库。想要实现在一个页面上显示来自不同服务器上同一张表的有数据数据。本人的程序只显示了连接信息最后一条所连数据库的信息。
展开
 我来答
printf59277
推荐于2016-06-13 · TA获得超过1080个赞
知道大有可为答主
回答量:1812
采纳率:33%
帮助的人:1262万
展开全部
你这里每次都是new的ds,然后直接就绑定了gv,这样gv里面当然只显示最后一个。你可以先把所有的结果集都读出来 ,然后整合到一个ds里面再绑定。另外,我觉得你这种多次读取数据库的情况不太好,你找一个主数据库,把其他的数据库ip都做成链接服务器,然后通过链接服务器来调用其他服务器上的表记录,在数据库里面整合好以后,再在程序里面查询出来。
追问
能详细解释一下把所有的结果集都读出来,然后整合到一个ds里面在绑定。或者用代码简单表示一下。
追答
dt.Merge(dt1); 两个datatable 合并 ,你试试 。如果不行,你就用最简单的,循环去添加吧。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式