显示ADO.NET分页填充技术

时间:2011-06-23 关注公众号 来源:网络

  如果数据不经常变动,可以在DataSet中本地维护一个记录缓存,以此提高性能。例如,可以在本地DataSet中存储10页有用的数据,并且只有当用户浏览超出缓存第一页和最后一页时,才从数据源中查询新数据。

  1) ADO.NET分页避免使用带有startRecord和maxRecords值的DataAdapter.Fill重载。当以这种方式填充DataSet时,ADO.NET分页只有maxRecords参数(从startRecord参数标识的记录开始)指定的记录数量用于填充DataSet,但无论如何总是返回完整的查询。这就会引起不必要的处理,用于读取“不需要的”记录;而且为了返回附加记录,会耗尽不必要的服务器资源。

  2) 用于每次只返回一页记录的技术是创建SQL语句,将WHERE子句以及ORDER BY子句和TOP谓词组合起来。ADO.NET分页此技术取决于存在一种可唯一标识每一行的办法。当浏览下一页记录时,修改WHERE子句使之包含所有唯一标识符大于当前页最后一个唯一标识符的记录。

  当浏览上一页记录时,修改WHERE子句使之返回所有唯一标识符小于当前页第一个唯一标识符的记录。两种查询都只返回记录的TOP页。当浏览上一页时,需要以降序为结果排序。这将有效地返回查询的ADO.NET分页最后一页(如果需要,显示之前也许要重新排序结果)。

  3) 另一项每次只返回一页记录的技术是创建SQL语句,将TOP谓词和嵌入式SELECT语句的使用结合在一起。此技术并不依赖于存在一种可唯一标识每一行的办法。使用这项技术的第一步是将所需页的数量与页大小相乘。

  然后将结果传递给SQL Query的TOP谓词,该查询以升序排列。再将此查询嵌入到另一个查询中,ADO.NET分页后者从降序排列的嵌入式查询结果中选择TOP页大小。实质上,返回的是嵌入式查询的最后一页。例如,要返回查询结果的第三页(页大小是10),应该书写如下所示的命令:

  SELECT TOP 10 * FROM   (SELECT TOP 30 * FROM Customers ORDER BY Id ASC) AS Table1   ORDER BY Id DESC 注意:从查询中返回的结果页以降序显示。ADO.NET分页如果需要,应该重新排序。

阅读全文
扫码关注“ 多特资源库
更多更全的软件资源下载
文章内容来源于网络,不代表本站立场,若侵犯到您的权益,可联系我们删除。(本站为非盈利性质网站)
玩家热搜
gg修改器如何修改暴走英雄坛
钢铁意志免费观看
量子计算机在处理特定问题时,具有远超经典计算机的能力优势,这是因为它具有()能力。
word如何删除最后一页空白页
单机游戏修改器哪个好用
感叹号是什么意思
根据《工会会计制度》规定,应收款项应当按照()入账。
根据《工会会计制度》规定,某市总工会购入10000美元外汇时的汇率为8.3人民币元/美元。当年出国费支出5000美元,剩余5000美元年末存入外币账户,存入当日汇率为8.20人民币元/美元,对汇兑损益进行会计处理时正确的选项是()。
202×年某省总工会收到全总通知,全总拨付一般性转移支付补助1000000元,专项转移支付补助2000000元,截至12月31日省总工会未收到款。次年省总收到全总拨款,根据《工会会计制度》规定,次年收到资金时编制会计分录时正确的选项是()。
某县基层工会经费留成比例为60%,上缴县总工会40%(县总工会留成20%,上缴省市20%),202×年12月31日县总工会收到省总工会转来通知:202×年省总工会收到省财政厅划拨该县所属基层工会上缴经费为20000元,按比例计算,10000元作为县总工会留成经费,10000元应上缴上一级工会,各级工会经费收入均由财政直接划拨入账。根据《工会会计制度》规定,第一年末县总工会会计处理时正确的选项是()
某工会年终盘点,发现毁坏四件物品,价款400元,无法查明原因。报经领导批准后作核销处理,根据《工会会计制度》规定,会计处理正确的选项是()。
202×年某基层工会用结余资金100000元购买一年期国债,假设利率为4%,根据《工会会计制度》规定,编制会计分录时正确的选项是()。

相关攻略

正在加载中
版权
版权说明

文章内容来源于网络,不代表本站立场,若侵犯到您的权益,可联系我们删除。(本站为非盈利性质网站)

电话:13918309914

QQ:1967830372

邮箱:[email protected]

toast