1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

关于SQL2000中的SQL语句错误。。。

本帖由 风狼2006-04-11 发布。版面名称:后端开发

  1. 风狼

    风狼 New Member

    注册:
    2005-10-01
    帖子:
    7,452
    赞:
    25
    Function Nextstr
    NextSql="Select Top 1 * from where id>"&Request.QueryString("id")&" order by id"
    Set NextRs=conn.Execute(NextSql)
    If Not NextRs.Eof Then
    Response.Write "<a href='news.asp?id="&NextRs("id")&">下一页</a>"
    End If
    End Function

    Function Backstr
    BackSql="Select Top 1 * from where id<"&Request.QueryString("id")&" order by id desc"
    Set BackRs=conn.Execute(BackSql)
    If Not BackRs.Eof Then
    Response.Write "<a href='news.asp?id="&BackRs("id")&"'>上一页</a>"
    End IF
    End Function

    我想通过上面的两个函数来实现新闻系统中的上一篇新闻与下一篇新闻。可写完后。发现他报

    ------------------------------------------------------------------------------------------
    Microsoft VBScript 编译器错误 错误 '800a03f6'

    缺少 'End'

    /iisHelp/common/500-100.asp,行242

    Microsoft OLE DB Provider for SQL Server 错误 '80040e14'

    在关键字 'where' 附近有语法错误。

    /away/news.asp,行12
    ----------------------------------------------------------------------------------------

    请大家帮忙看下

    :cry:
     
  2. amt

    amt New Member

    注册:
    2005-12-13
    帖子:
    8,582
    赞:
    67
    NextSql="Select Top 1 * from where id>"&Request("id")&" order by id"

    这句的最后地方少了一个desc
     
  3. 不学无术

    不学无术 Ulysses 的元神

    注册:
    2005-08-31
    帖子:
    16,714
    赞:
    39
    amt 乱回答!

    是 FROM 后面少了表名。
     
  4. notnull

    notnull New Member

    注册:
    2005-09-27
    帖子:
    11,720
    赞:
    37
    不要误人子弟啊……

    明显的连查询哪个表都不知道……
     
  5. 风狼

    风狼 New Member

    注册:
    2005-10-01
    帖子:
    7,452
    赞:
    25
    呀哦。无术说对了。。完了。。我可能不适合写程序。。每次都是这种小问题弄的。。
    我看提示是where 我就在后面左看右看。就是没看前面
     
  6. 小叶

    小叶 New Member

    注册:
    2005-09-04
    帖子:
    17,941
    赞:
    33
    啊哦,那算两处错误!
     
  7. 不学无术

    不学无术 Ulysses 的元神

    注册:
    2005-08-31
    帖子:
    16,714
    赞:
    39
    这个算是什么呢?

    :xizao:
     
  8. 风狼

    风狼 New Member

    注册:
    2005-10-01
    帖子:
    7,452
    赞:
    25
    by id
    他居然米报错呢
     
  9. amt

    amt New Member

    注册:
    2005-12-13
    帖子:
    8,582
    赞:
    67
    。。。
     
  10. 风狼

    风狼 New Member

    注册:
    2005-10-01
    帖子:
    7,452
    赞:
    25
    而且他正常运作了。还是以ID为顺序进行了排列~~
     
  11. 不学无术

    不学无术 Ulysses 的元神

    注册:
    2005-08-31
    帖子:
    16,714
    赞:
    39
    默认情况下是按照顺序排列,你第一个查询就是按照顺序排列的,也就是 ORDER BY id ASC,ASC 可以省略。
     
  12. 老林

    老林 New Member

    注册:
    2005-09-06
    帖子:
    10,580
    赞:
    36
  13. 风狼

    风狼 New Member

    注册:
    2005-10-01
    帖子:
    7,452
    赞:
    25
    嗯~加by id desc就倒着排。。这个俺了解。。差点被呼了。。。

    前面第一个用by id是对了。这样才能准确的跳到下一个纪录
     
  14. notnull

    notnull New Member

    注册:
    2005-09-27
    帖子:
    11,720
    赞:
    37
    换成DESC就是倒序了
     
  15. Kevin

    Kevin New Member

    注册:
    2005-10-23
    帖子:
    12,728
    赞:
    55
    :sweat: