求高手解说C#分页的原理和实现方法? 求高手解说C#分页的原理和实现方法?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 "求高手解说C#分页的原理和实现方法?"这个问题问的太笼统了吧,是webform还是winform?是dataset的分页吗?能不能说详细嗲. 可以参考一下NBear开源框架,那里面的数据访问层里有对数据分页的封装的源码. "求高手解说C#分页的原理和实现方法?" 这个问题问的太笼统了吧,是webform还是winform?是dataset的分页吗?能不能说详细嗲.WEB下的查询数据分页! web下的啊?我只做过winform下的分页有很多种方法,其实到现在我也不知道到底哪种方法才最合适,献丑和大家讨论下吧1、最笨的办法就是一次将表中的数据都读到DataSet里,然后使用程序控制来实现分页,这个很容易做,缺点是一次把数据全部读到DataSet会占用很多内存2、使用存储过程,这个我没试过,因为我还不会使用存储过程,据网上有人测试,此方法的缺点是数据量巨大的时候查询效率会很低3、使用sql语句每次读出一页的数据显示,这个需要拼出非常复杂的sql语句,并且在sql server 2005和oracle中此类sql的语法不同,在sql sercer 2005中是用top 10(假设每页10条),在oracle中是(rownum <= 10),具体的sql语句还要根据实际情况决定,这个方法节省了内存,但是对数据库的访问造成了巨大压力4、还有人说过使用XML来与数据库交互,这个我没做过,正在学习,我想思路可能是先读出数据库的所有记录写入XML文件,然后从XML中分页读取,这样降低了对数据库的访问,大量数据存储在文件中也会节省内存,这只是我自己的理解,这部分我还在找资料学习,希望楼下的能够给出更好的解释或者分页办法希望对你有所帮助 http://www.webdiyer.com/AspNetPager/utility/sqlspgen.aspx看下这个就知道了. protected void gvlist_PageIndexChanging(object sender, GridViewPageEventArgs e) { //分页 if (gvlist.EditIndex != -1) { e.Cancel = true; int newPageNumber = e.NewPageIndex + 1; } else { gvlist.PageIndex = e.NewPageIndex; //datav dtv=new datav(); gvlist.DataSource = _dv; gvlist.DataBind(); } } 状态栏的动态显示问题 面试答疑: 面向对象 与 面向过程 他们的开发方式都是怎么样的啊 如何让DATAGRID中的列宽能随着其中的单元格内的文本内容的长度变化 请教一个关于DataSet数据的操作问题 C#中是否有C++中的映射? 高手请进,急需解决的问题 格式转换 iTextSharp 追加一页 哪里有以下的电子图书下载???? Windows form怪问题,请高手帮助我一下~~~~~~~~~~~~ 谁来给我一个写数据库的步骤! 关于combobox控件的问题
WEB下的查询数据分页!
我只做过winform下的分页
有很多种方法,其实到现在我也不知道到底哪种方法才最合适,献丑和大家讨论下吧
1、最笨的办法就是一次将表中的数据都读到DataSet里,然后使用程序控制来实现分页,这个很容易做,缺点是一次把数据全部读到DataSet会占用很多内存
2、使用存储过程,这个我没试过,因为我还不会使用存储过程,据网上有人测试,此方法的缺点是数据量巨大的时候查询效率会很低
3、使用sql语句每次读出一页的数据显示,这个需要拼出非常复杂的sql语句,并且在sql server 2005和oracle中此类sql的语法不同,在sql sercer 2005中是用top 10(假设每页10条),在oracle中是(rownum <= 10),具体的sql语句还要根据实际情况决定,这个方法节省了内存,但是对数据库的访问造成了巨大压力
4、还有人说过使用XML来与数据库交互,这个我没做过,正在学习,我想思路可能是先读出数据库的所有记录写入XML文件,然后从XML中分页读取,这样降低了对数据库的访问,大量数据存储在文件中也会节省内存,这只是我自己的理解,这部分我还在找资料学习,希望楼下的能够给出更好的解释或者分页办法希望对你有所帮助
{
//分页
if (gvlist.EditIndex != -1)
{
e.Cancel = true;
int newPageNumber = e.NewPageIndex + 1;
}
else
{
gvlist.PageIndex = e.NewPageIndex;
//datav dtv=new datav();
gvlist.DataSource = _dv;
gvlist.DataBind();
}
}