7 个解决方案
#1
优化sql语句了。并且这样的题目也不好答。
#2
理论上讲,你要的数据是一份汇总表,不论你汇总的方式有多复杂,最终出来的结果是一份表格
而且数据也应该在同一个数据库里面
那么总有办法用一个sql文,查询出一个DataTable,绑定给一个DataGrid的
而且数据也应该在同一个数据库里面
那么总有办法用一个sql文,查询出一个DataTable,绑定给一个DataGrid的
#3
我是这样做的,我用SQL的union实现了所有的数据处理,取到一个完整的数据Table
for(int i=0;i<salesTable.Rows.Count;i++)
{
strText +=
"<tr align='center'>"
+"<td align='left' style='BORDER-RIGHT: #708090 1px solid; BORDER-LEFT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +salesTable.Rows[i]["rowNum"].ToString()+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +salesTable.Rows[i]["PAMon1"].ToString()+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +salesTable.Rows[i]["AAMon1"].ToString()+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +strPercent1+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +salesTable.Rows[i]["PAMon2"].ToString()+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +salesTable.Rows[i]["AAMon2"].ToString()+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +strPercent2+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +salesTable.Rows[i]["PAMon3"].ToString()+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +salesTable.Rows[i]["AAMon3"].ToString()+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +strPercent3+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +strPlanTatal+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +strFactTatal+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +strPercent4+ "</td>"
+"</tr>";
}
使用这种方法来在后台生成table,用于控制页面,
前台用<#%= strText %>来接收
for(int i=0;i<salesTable.Rows.Count;i++)
{
strText +=
"<tr align='center'>"
+"<td align='left' style='BORDER-RIGHT: #708090 1px solid; BORDER-LEFT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +salesTable.Rows[i]["rowNum"].ToString()+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +salesTable.Rows[i]["PAMon1"].ToString()+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +salesTable.Rows[i]["AAMon1"].ToString()+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +strPercent1+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +salesTable.Rows[i]["PAMon2"].ToString()+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +salesTable.Rows[i]["AAMon2"].ToString()+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +strPercent2+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +salesTable.Rows[i]["PAMon3"].ToString()+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +salesTable.Rows[i]["AAMon3"].ToString()+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +strPercent3+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +strPlanTatal+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +strFactTatal+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +strPercent4+ "</td>"
+"</tr>";
}
使用这种方法来在后台生成table,用于控制页面,
前台用<#%= strText %>来接收
#4
这样下来我的SQL文居然有800行,查询的表也居然大于了256个,没有办法只好把SQL又分成了两个部分,又用了DataSet的merge.结果才可以,这样的统计分析也没有办法用别的办法去做.
#5
要查询的表也太多了吧,能不能将汇总表分一分类呢?
#6
happer6012,我用的方法是和你差不多的,问提就是SQL语句太多,能不能有什么好的高效的解决方法呢?
而且我的数据不是来自一个数据库!楼上分类的方法是不行的,因为表的格式是固定的.
而且我的数据不是来自一个数据库!楼上分类的方法是不行的,因为表的格式是固定的.
#7
不是来自一个数据库,那再要汇总,就麻烦点了吧,你试试用存储过程呢!
我现在这里也没有什么好的解决办法,那个页面也是有点面!还不知道到时候压力测试是否能通过呢!
我现在这里也没有什么好的解决办法,那个页面也是有点面!还不知道到时候压力测试是否能通过呢!
#1
优化sql语句了。并且这样的题目也不好答。
#2
理论上讲,你要的数据是一份汇总表,不论你汇总的方式有多复杂,最终出来的结果是一份表格
而且数据也应该在同一个数据库里面
那么总有办法用一个sql文,查询出一个DataTable,绑定给一个DataGrid的
而且数据也应该在同一个数据库里面
那么总有办法用一个sql文,查询出一个DataTable,绑定给一个DataGrid的
#3
我是这样做的,我用SQL的union实现了所有的数据处理,取到一个完整的数据Table
for(int i=0;i<salesTable.Rows.Count;i++)
{
strText +=
"<tr align='center'>"
+"<td align='left' style='BORDER-RIGHT: #708090 1px solid; BORDER-LEFT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +salesTable.Rows[i]["rowNum"].ToString()+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +salesTable.Rows[i]["PAMon1"].ToString()+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +salesTable.Rows[i]["AAMon1"].ToString()+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +strPercent1+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +salesTable.Rows[i]["PAMon2"].ToString()+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +salesTable.Rows[i]["AAMon2"].ToString()+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +strPercent2+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +salesTable.Rows[i]["PAMon3"].ToString()+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +salesTable.Rows[i]["AAMon3"].ToString()+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +strPercent3+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +strPlanTatal+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +strFactTatal+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +strPercent4+ "</td>"
+"</tr>";
}
使用这种方法来在后台生成table,用于控制页面,
前台用<#%= strText %>来接收
for(int i=0;i<salesTable.Rows.Count;i++)
{
strText +=
"<tr align='center'>"
+"<td align='left' style='BORDER-RIGHT: #708090 1px solid; BORDER-LEFT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +salesTable.Rows[i]["rowNum"].ToString()+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +salesTable.Rows[i]["PAMon1"].ToString()+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +salesTable.Rows[i]["AAMon1"].ToString()+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +strPercent1+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +salesTable.Rows[i]["PAMon2"].ToString()+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +salesTable.Rows[i]["AAMon2"].ToString()+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +strPercent2+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +salesTable.Rows[i]["PAMon3"].ToString()+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +salesTable.Rows[i]["AAMon3"].ToString()+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +strPercent3+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +strPlanTatal+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +strFactTatal+ "</td>"
+"<td style='BORDER-RIGHT: #708090 1px solid; BORDER-BOTTOM: #708090 1px solid'>" +strPercent4+ "</td>"
+"</tr>";
}
使用这种方法来在后台生成table,用于控制页面,
前台用<#%= strText %>来接收
#4
这样下来我的SQL文居然有800行,查询的表也居然大于了256个,没有办法只好把SQL又分成了两个部分,又用了DataSet的merge.结果才可以,这样的统计分析也没有办法用别的办法去做.
#5
要查询的表也太多了吧,能不能将汇总表分一分类呢?
#6
happer6012,我用的方法是和你差不多的,问提就是SQL语句太多,能不能有什么好的高效的解决方法呢?
而且我的数据不是来自一个数据库!楼上分类的方法是不行的,因为表的格式是固定的.
而且我的数据不是来自一个数据库!楼上分类的方法是不行的,因为表的格式是固定的.
#7
不是来自一个数据库,那再要汇总,就麻烦点了吧,你试试用存储过程呢!
我现在这里也没有什么好的解决办法,那个页面也是有点面!还不知道到时候压力测试是否能通过呢!
我现在这里也没有什么好的解决办法,那个页面也是有点面!还不知道到时候压力测试是否能通过呢!