访问数据库返回数据开展页面排版时如果数据量大的话会出现“未响应,因为脚本长时间运行”
访问数据库返回数据进行页面排版时如果数据量大的话会出现“未响应,因为脚本长时间运行”
如题 请问各位大神 在查询数据量小的情况下一切正常但是在数据量大的情况下为什么会出现“未响应,因为脚本长时间运行”这种情况了 代码如下:
public void sqlconn()
{
string a="";
string b = "";
SqlConnection objSqlConnection = new SqlConnection("server=127.0.0.1;uid=sa;pwd=sa;database=wk");
objSqlConnection.Open();
string query = Config.select_table;//前面已经赋给具体查询语句
SqlCommand objSqlCommand = new SqlCommand(query, objSqlConnection);
SqlDataReader objSqlReader = objSqlCommand.ExecuteReader();
for (int i = 0; i < objSqlReader.FieldCount; i++)//输出查询字段名
{
a += "<th ><h3>" + objSqlReader.GetName(i) + "</h3></th>";
}
//str变量前面定义用于在页面输出排版显示数据
str = "<table cellpadding='0' cellspacing='0' border='0' id='table'class='sortable'>" +
"<thead>" +
"<tr>" +
a +
"</tr>" +
"</thead>" +
"<tbody>";
while (objSqlReader.Read())//循环创建表格输出查询所有数据
{
str += "<tr>";
for (int i = 0; i < objSqlReader.FieldCount; i++)
{
if (objSqlReader[i] == DBNull.Value)
{
b+="<td> </td>";
continue;
}
else
{
b += "<td>" + objSqlReader[i].ToString() + "</td>";
}
}
str += b;
b = "";
str += "</tr>";
}
str += "</tbody></table>";
objSqlReader.Close();
objSqlConnection.Close();
}
------解决思路----------------------
就是因为数量多大导致加载很慢,所以才要分页加载,那么既然一次不用加载那么多数据了,显然数据库一次性检索出全数据就显得不是很合适,所以就有了在检索数据时使用按页来检索的逻辑
如题 请问各位大神 在查询数据量小的情况下一切正常但是在数据量大的情况下为什么会出现“未响应,因为脚本长时间运行”这种情况了 代码如下:
public void sqlconn()
{
string a="";
string b = "";
SqlConnection objSqlConnection = new SqlConnection("server=127.0.0.1;uid=sa;pwd=sa;database=wk");
objSqlConnection.Open();
string query = Config.select_table;//前面已经赋给具体查询语句
SqlCommand objSqlCommand = new SqlCommand(query, objSqlConnection);
SqlDataReader objSqlReader = objSqlCommand.ExecuteReader();
for (int i = 0; i < objSqlReader.FieldCount; i++)//输出查询字段名
{
a += "<th ><h3>" + objSqlReader.GetName(i) + "</h3></th>";
}
//str变量前面定义用于在页面输出排版显示数据
str = "<table cellpadding='0' cellspacing='0' border='0' id='table'class='sortable'>" +
"<thead>" +
"<tr>" +
a +
"</tr>" +
"</thead>" +
"<tbody>";
while (objSqlReader.Read())//循环创建表格输出查询所有数据
{
str += "<tr>";
for (int i = 0; i < objSqlReader.FieldCount; i++)
{
if (objSqlReader[i] == DBNull.Value)
{
b+="<td> </td>";
continue;
}
else
{
b += "<td>" + objSqlReader[i].ToString() + "</td>";
}
}
str += b;
b = "";
str += "</tr>";
}
str += "</tbody></table>";
objSqlReader.Close();
objSqlConnection.Close();
}
------解决思路----------------------
就是因为数量多大导致加载很慢,所以才要分页加载,那么既然一次不用加载那么多数据了,显然数据库一次性检索出全数据就显得不是很合适,所以就有了在检索数据时使用按页来检索的逻辑