如何把多次从数据库中查询出来的结果放在同一个datagridview中,帮忙写下下面的代码

2024-12-04 13:54:26
推荐回答(3个)
回答1:

将 sheet.Cells[n+1,1] 组合成字符串 allCells,然后改查询语句不是更好吗?
string SQL =string.Format("select distinct QPN,APN from {0} where QPN in {1} ",Welcome.MODEL,allCells);

allCell 格式应为 “('A','B','C')” ,也就是把所有的sheet.Cells组合成 “('A','B','C')” 这样格式的字符串,如此一来一次查询就搞定了。

回答2:

可以将多个表结果放到同一个DataTable,DataView,或List内,再将其作为数据源绑定,前提是多个结果集有着一样的数据列。


例:

    class Item
    {
        public int ID {get;set}
        public string Name {get;set}
    }

List list = new List();
for(DataRow dr in sheet1.Rows)
{
    list.Add(new Item{ID=Convert.ToInt32(dr[0]),Name=dr[1].ToString()});
}
for(DataRow dr in sheet2.Rows)
{
    list.Add(new Item{ID=Convert.ToInt32(dr[0]),Name=dr[1].ToString()});
}
GridView1.DataSource=list;
GridView1.DataBind();

回答3:

把查询出的数据先加到临时表中。。所有数据查询完之后。。在把临时表的数据填充进DataGridview中