mssql数据库 [ 新手入门 ]
用mssql数据库,cgridview,分页显示错误。 [attach]400[/attach] 共4条,每页3条,第2页应该只显示第四条才对。
经过查找发现源码是错误的,谁能帮改掉 framework\db\schema\mssql\CMssqlCommandBuilder.php
protected function rewriteLimitOffsetSql($sql, $limit, $offset)
{
$fetch = $limit+$offset;
$sql = preg_replace('/^([\s(])*SELECT( DISTINCT)?(?!\s*TOP\s*\()/i',"\\1SELECT\\2 TOP $fetch", $sql);
$ordering = $this->findOrdering($sql);
$orginalOrdering = $this->joinOrdering($ordering, '[__outer__]');
$reverseOrdering = $this->joinOrdering($this->reverseDirection($ordering), '[__inner__]');
$sql = "SELECT * FROM (SELECT TOP {$limit} * FROM ($sql) as [__inner__] {$reverseOrdering}) as [__outer__] {$orginalOrdering}";
return $sql;
}
共 3 条回复
canyueyun
注册时间:2011-09-02
最后登录:1970-01-01
在线时长:0小时0分
最后登录:1970-01-01
在线时长:0小时0分
- 粉丝0
- 金钱50
- 威望0
- 积分50