想用最简单的SqlDataSource控件完成对一个记录数很多的表的查询操作,结果出现超时异常,找了些解决方法都不奏效,后来在​www.codeproject.com/">​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动画是个好主意!