在asp.net中,如果数据量很大,这个时候用DataGrid分页的时候很慢,看各位有何高见?

如下代码:当数据库中有1000000以上时很慢!听说用存储进程比较快,可是本人不会用,请大侠指点!

SqlConnection con=yycndb.createCon();
con.Open();
SqlDataAdapter sda=new SqlDataAdapter();
sda.SelectCommand=new SqlCommand("select * from info where flag=0 order by dateandtime desc" ,con);
DataSet dsa=new DataSet();
sda.Fill(dsa,"newstable");
this.DataGrid2.DataKeyField="Info_ID";
this.DataGrid2.DataSource=dsa.Tables["newstable"];
this.DataGrid2.DataBind();
con.Close();
con.Dispose();
如何用存储进程实现分页阿,我不是很懂,请指教
现在积分不够,如有分马上补

第1个回答  2008-03-25
实现分页的存储过程
CREATE proc UP_Paging

@columnList varchar(200),--显示的列集合
@pageSize int,--分页数
@pageIndex int,--当前页数
@tableName varchar(100),--表名
@orderColumn varchar(100)--作为排序的列名
as
declare @SqlText varchar(1000)
set @SqlText = 'select '+@columnList
+' from (select top '+cast(@pageSize as varchar(5))+' '+ @columnList
+' from (select top '+cast(@pageIndex * @pageSize as varchar(5))+' '+@columnList
+' from '+@tableName +
' order by '+@orderColumn+' desc) newtable
order by '+@orderColumn+' asc
) table2 order by '+@orderColumn+' desc'

存储过程这么写 具体的数据大小根据你的情况修改
相似回答
大家正在搜