sqlserver没有limit这个关键字,而且oracle也不支持,在sqlserver中,要想实现类似limit的效果,需要区分是sqlserver2000还是2005,2000的话比较麻烦一点。2005可以用row_number的方式变通实现。可以参考:
大姚网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联2013年至今到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
是什麽系统?装的sql哪个版本?
我觉得微软一向向下兼容的
是的。
Microsoft JDBC Driver for SQL Server 目前不支持此方法。如果使用此方法,则 JDBC 驱动程序将记住该设置,但目前不进行处理。
语法:public void setFetchDirection(int direction)
参数:
direction
指示建议的提取方向的 int。可以是下列值之一:
ResultSet.FETCH_FORWARD
ResultSet.FETCH_REVERSE
ResultSet.FETCH_UNKNOWN
不知道是哪行的问题
可能是这个结果集是只能迭代一次的 不能用rs.beforeFirst()这个方法
也就是程序说的只进
你可以创建一个滚动的结果集 把之前某行换成
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE)
我也是猜的 可以试一下~
SQL Server从2005开始就支持row_number over一系列的分析函数,故应该是可以执行的。
猜测:不是SQL Server版本的问题,可能是你的数据兼容级别为SQL Server 2000 (80)的,而SQL Server 2000对分析函数是不支持的。
或者,使用更新的版本。我的就是Microsoft SQL Server Developer Edition, 9.00.4035.00
点击数据库右键-任务-生成脚本-选择为服务器编写脚本为sqlserver200即可实现到sqlserver2000数据库语法等 截图下如: 希望能帮到你!