visvoy 发表于 2009-1-12 14:53:51

CI对Microsoft SQL分页支持极差

不能正确显示分页结果,谁做过CI的MSSQL分页?谈下经验吧

huanghuibin 发表于 2009-1-12 15:48:53

你的分页怎么做的,MS SQL 不支持limt

sam 发表于 2009-1-12 15:52:20

同意楼上。。

visvoy 发表于 2009-1-12 17:11:31

哦,真的不支持哦,只能用自己的分页插件了,唉

Hex 发表于 2009-1-12 21:53:29

http://codeigniter.org.cn/forums/thread-72-1-5.html

visvoy 发表于 2009-1-13 02:22:06

to Hex,还是不行啊,我用的ar
SQL指令是(截取的输出)
DECLARE mi_cursor_ffdb039378876e653e18cb10de5327c0 CURSOR DYNAMIC READ_ONLY FOR SELECT *, birth=datediff(year, birth, getdate()) FROM py_user WHERE (datediff(year,birth,getdate()) between '18' and '35') AND sex = '2' AND marriage = '1' AND grade = 1 ORDER BY id desc OPEN mi_cursor_ffdb039378876e653e18cb10de5327c0 DECLARE @CURSOR AS INT SELECT @CURSOR = CURSOR_HANDLE FROM MASTER.DBO.SYSCURSORS WHERE CURSOR_NAME = 'mi_cursor_ffdb039378876e653e18cb10de5327c0' EXEC SP_CURSORFETCH @CURSOR, 32, 2, 10 EXEC SP_CURSORCLOSE @CURSOR
找不到匹配的数据,本来应该匹配数据库里面100个的列的
然后到SQL再执行上面的命令,显示如下错误:
Msg 615, Level 21, State 1, Line 1
找不到数据库 ID 0,名称 'user_db'。该数据库可能处于离线状态。请等候几分钟,然后重试。

Hex 发表于 2009-1-13 10:13:49

用我提供的方法不行?我以前用是可以的,我测试的是 mssql 2000

visvoy 发表于 2009-1-13 11:09:17

我用的2005,但2005兼容2000查询的

Hex 发表于 2009-1-13 16:07:10

2005 那肯定是有些地方不兼容了,你需要重新写那个分页 SQL。实际上就是自己实现一个 MSSQL 版的 limit 子句。
网上方法应该很多吧。

visvoy 发表于 2009-1-13 22:25:38

搞定了,唉,麻烦,用的三重SELECT TOP那个方法,
分页类也改了,要不末页的数据不对。。。
页: [1] 2
查看完整版本: CI对Microsoft SQL分页支持极差