想用最简单的SqlDataSource控件完成对一个记录数很多的表的查询操作,结果出现超时异常,找了些解决方法都不奏效,后来在www.codeproject.com查到高手也放弃了用控件的方法,于是我也只能:
 

conn.Open();

SqlCommand sqlCommand = new SqlCommand(select, conn);

sqlCommand.CommandTimeout = 0;    //没有超时限制

SqlDataReader dr = sqlCommand.ExecuteReader();

 

//只能手工构筑DataSet

DataSet dataSet=new DataSet();

DataTable dataTable=dataSet.Tables.Add();

dataTable.Columns.Add("单位代号",System.Type.GetType("System.String"));  

dataTable.Columns.Add("单位名称",System.Type.GetType("System.String"));  

dataTable.Columns.Add("工号1",System.Type.GetType("System.String"));  

dataTable.Columns.Add("工号2",System.Type.GetType("System.String"));

 

while (dr.Read())

{

    object[] result = new object[4];

    result[0] = dr[0].ToString().Trim() ;

    result[1] = dr[1].ToString().Trim();

    result[2] = dr[2].ToString().Trim();

    result[3] = dr[3].ToString().Trim();

    dataTable.Rows.Add(result);

}

 

dr.Close();

conn.Close();

GridView2.DataSource=dataSet;

GridView2.DataBind();

由于比较耗时,使用AJAX的UpdateProgress来显示个友好的GIF动画是个好主意!

posted on 2019-08-07 22:48  qqhfeng16  阅读(293)  评论(0编辑  收藏  举报