asp.net读取大量数据,页面打开速度变慢
我在写程序的时候需要读取大量的数据,并且使用了for循环,这样使页面的打开速度变的特别慢,不知道怎么解决了。
string sql_count = "SELECT DISTINCT LEFT(photo.Species_no, 4) AS pic_total, Families.families_name FROM photo INNER JOIN Families ON LEFT(photo.Species_no, 4) = Families.families_no WHERE (CONVERT(varchar(10), photo.addtimes, 120) = CONVERT(varchar(10), GETDATE(), 120)) AND (photo.Species_no NOT LIKE '0000%') AND (photo.Species_no <> '')";
DataTable dt = conn.execQuery(sql_count);
if (dt.Rows.Count > 0)
{
Label1.Text = "今日共上传" + dt.Rows.Count + "科";
Label2.Text = "分别为:<br> <table>";
string sql_count_shu = "";
DataTable dt_count_shu = new DataTable();
for (int i = 0; i < dt.Rows.Count; i++)
{
Label2.Text += "<tr><td>" + dt.Rows[i]["Families_name"].ToString();
sql_count_shu = "SELECT DISTINCT LEFT(photo.Species_no, 7) AS pic_total, Genera.Genera_name FROM photo INNER JOIN Genera ON LEFT(photo.Species_no, 7) = Genera.Genera_no WHERE (CONVERT(varchar(10), photo.addtimes, 120) = CONVERT(varchar(10), GETDATE(), 120)) AND (photo.Species_no NOT LIKE '0000%') AND (photo.Species_no <> '') and left(Genera.Genera_no,4)='" + dt.Rows[i]["pic_total"].ToString() + "'";
dt_count_shu = conn.execQuery(sql_count_shu);
if (dt_count_shu.Rows.Count > 0)
{
Label2.Text += "(";
for (int j = 0; j < dt_count_shu.Rows.Count; j++)
{
Label2.Text += dt_count_shu.Rows[j]["genera_name"].ToString()+" ";
string sql_count_ke = "SELECT DISTINCT Species_no, Species_name FROM photo WHERE (CONVERT(varchar(10), addtimes, 120) = CONVERT(varchar(10), GETDATE(), 120)) AND (Species_no NOT LIKE '0000%') AND (Species_no <> '') and left(species_no,7)='" + dt_count_shu.Rows[j]["pic_total"].ToString() + "'";
DataTable dt_count_ke = conn.execQuery(sql_count_ke);
if (dt_count_ke.Rows.Count > 0) {
for (int n = 0; n < dt_count_ke.Rows.Count; n++) {
Label2.Text += dt_count_ke.Rows[n]["species_name"].ToString()+"," ;
}
// Label2.Text+=")";
}
}
Label2.Text += ")</td></tr>";
}
if ((Convert.ToDouble( i )/ 6 ==i/6 ) && (i != 0))
{
Label2.Text += "</tr><tr>";
}
}
Label2.Text += "</table>";
sql_count = "SELECT DISTINCT LEFT(photo.Species_no, 7) AS pic_total, Genera.Genera_name FROM photo INNER JOIN Genera ON LEFT(photo.Species_no, 7) = Genera.Genera_no WHERE (CONVERT(varchar(10), photo.addtimes, 120) = CONVERT(varchar(10), GETDATE(), 120)) AND (photo.Species_no NOT LIKE '0000%') AND (photo.Species_no <> '')";
dt = conn.execQuery(sql_count);
if (dt.Rows.Count > 0)
{
Label1.Text += "(" + dt.Rows.Count + "属,";
}
sql_count = "SELECT DISTINCT Species_no, Species_name FROM photo WHERE (CONVERT(varchar(10), addtimes, 120) = CONVERT(varchar(10), GETDATE(), 120)) AND (Species_no NOT LIKE '0000%') AND (Species_no <> '')";
dt = conn.execQuery(sql_count);
if (dt.Rows.Count > 0)
{
Label1.Text += dt.Rows.Count + "种)";
}
}
else
{
Label1.Text = "今日没有上传的科";
}
这是三分之一的代码。
www.plantphoto.cn/include.aspx
这是变慢的页面。