你的数据库不支持Fetch从句。我想没有什么直接的办法。

解决方案 »

  1.   

    我的数据库是MYSQL,请问有那些数据库支持?好象只要JDBC驱动器支持就可以实现,这样的说法对吗?
      

  2.   

    这是SQL语句的问题,在查询语句后面+“ fetch only n)" n is the rows.
    与JDBC驱动无关。在我用过的数据库里,DB2是可以肯定支持的,oracle好像也支持。
      

  3.   

    是+“ fetch only n" n is the rows.
    不好意思多了个")"
      

  4.   

    谢谢你的回复,我写成ResultSet rs = stmt.executeQuery("SELECT * FROM class_user" +" fetch only 10");但执行的时候出现错误
    error Syntax error or access violation: You have an error in your SQL syntax nea
    r 'only 10' at line 1
    SQL语法不对,SQL有这样的查询吗?
      

  5.   

    //以下是SQL Server 2000的查询优化的东西,留意这个:FAST number_rows
    OPTION 子句
    指定应在整个查询中使用所指定的查询提示。每个查询提示只能指定一次,但允许指定多个查询提示。用该语句只可能指定一个 OPTION 子句。查询提示影响语句中的所有运算符。如果主查询中涉及 UNION,则只有涉及 UNION 运算符的最后一个查询可以有 OPTION 子句。如果一个或多个查询提示导致查询优化器不生成有效计划,则产生 8622 号错误。注意  查询优化器通常为查询选择最佳执行计划,因此建议有经验的数据库管理员将 <join_hint>、<query_hint> 和 <table_hint> 仅作为最后的手段。
    语法
    [ OPTION ( < query_hint > [ ,...n ) ]< query_hint > ::=
        {    { HASH | ORDER } GROUP
        | { CONCAT | HASH | MERGE } UNION
        | {LOOP | MERGE | HASH } JOIN
        | FAST number_rows
        | FORCE ORDER
        | MAXDOP number
        | ROBUST PLAN
        | KEEP PLAN
        | KEEPFIXED PLAN
        | EXPAND VIEWS 
        } 参数
    { HASH | ORDER } GROUP指定在 GROUP BY、DISTINCT 或 COMPUTE 查询子句中所描述的聚合应使用哈希操作或排列。{ MERGE | HASH | CONCAT } UNION指定由合并、哈希或串联 UNION 集合执行所有 UNION 运算。如果指定了不止一个 UNION 提示,查询优化器就会从这些指定的提示中选择开销最少的策略。{ LOOP | MERGE | HASH } JOIN指定在整个查询中所有的联接操作由循环联接、合并联接或哈希联接来完成。如果指定了多个联接提示,则优化器从允许的联接策略中选择最便宜的联接策略。 如果在同一个查询中,还为一对特定的表指定了联接提示,则虽然仍须遵守查询提示,但该联接提示将优先联接这两个表。因此,为这对表指定的联接提示可能只限制选择查询提示中允许的联接方法。有关详细信息,请参见提示。FAST number_rows指定对查询进行优化,以便快速检索第一个 number_rows(非负整数)。在第一个 number_rows 返回后,查询继续进行并生成完整的结果集。
      

  6.   

    mysql查询限制10条记录:
    select * from aaa limit 1,10