`
zhcheng
  • 浏览: 163469 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

sqlserver top 异常

    博客分类:
  • sql
阅读更多

SQL语句:

 

String sql = "select top ? * from bbs_posts where p_fid=? order by p_addtime desc";
         prepStmt = conn.prepareStatement(sql);
         prepStmt.setInt(1, xxx);
         prepStmt.setInt(2, xx);
         prepStmt.executeQuery()

 

预编译:
Exception:

 

java.sql.SQLException: '@P0' 附近有语法错误。
     at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:368)
     at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2816)
     at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2254)
     at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:631)
     at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQLQuery(JtdsStatement.java:477)
     at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeQuery(JtdsPreparedStatement.java:777)
     at yixun.wap.db.DBConnection.executeQuery(DBConnection.java:41)
     at yixun.wap.bbs.dao.ForumDAO.get500WANforum(ForumDAO.java:282)
     at yixun.wap.bbs.BbsCache.get500WANforumCache(BbsCache.java:91)
     at yixun.wap.bbs.service.ForumBO.get500WANforum(ForumBO.java:143)
     at _jsp._page._bbs._space._second__jsp._jspService(_second__jsp.java:83)

 

原因:sql不支持为select top ? 预编译,换成动态拼接

 

String sql = "select top %s * from bbs_posts where p_fid=? order by p_addtime desc";
         sql = String.format(sql, num);

 

    或者是:

String sql = "select top (?) * from bbs_posts where p_fid=? order by p_addtime desc";   
         prepStmt = conn.prepareStatement(sql);   
         prepStmt.setInt(1, xxx);   
         prepStmt.setInt(2, xx);   
         prepStmt.executeQuery()  

 

 

分享到:
评论

相关推荐

    asp.net知识库

    在Framework1.0下同时连接SqlServer和Oracle的一些体会 XML XPath XPath最通俗的教程(ZZ) XPath中相对路径和绝对路径 XPath 简单语法 Asp.Net(C#)利用XPath解析XML文档示例 XSL .Net框架下的XSLT转换技术简介 一个...

    net学习笔记及其他代码应用

    28.SQLSERVER服务器中,给定表 table1 中有两个字段 ID、LastUpdateDate,ID表示更新的事务号, LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句获得最后更新的事务号 答:Select ID FROM table1 Where ...

    03开源NewSql数据库TiDB-Deep Dive into TiDB

    TopN 下推 Limit 下推 4.提供了索引相关支持 谓词转化聚簇索引范围 谓词转化次级索引 Index Only 查询优化 运行时索引退化扫表优化 5.提供了基于代价优化 统计信息支持 索引选择 广播表代价估算 6.多种 ...

    ASP.NET常用代码

    /// 从系统异常类ApplicationException继承的应用程序异常处理类。 /// 自动将异常内容记录到Windows NT/2000的应用程序日志 /// public class AppException:System.ApplicationException { public AppException() ...

    python入门到高级全栈工程师培训 第3期 附课件代码

    07 通过form向server端发送数据 08 form表单之select标签 09 table标签 第38章 01 css的四种引入方式 02 css的四种基本选择器 03 css的组合选择器 04 css的属性选择器 05 css的伪类 06 css的选择器优先级 07 css的...

    JAVA上百实例源码以及开源项目

    第一步:运行ServerData.java 启动服务器,然后服务器处于等待状态 第二步:运行LoginData.java 启动(客户端)登陆界面 输入用户名 ip为本机localhost 第三步:在登陆后的界面文本框输入文本,然后发送 可以同时启动...

    JAVA上百实例源码以及开源项目源代码

    第一步:运行ServerData.java 启动服务器,然后服务器处于等待状态 第二步:运行LoginData.java 启动(客户端)登陆界面 输入用户名 ip为本机localhost 第三步:在登陆后的界面文本框输入文本,然后发送 可以同时启动...

Global site tag (gtag.js) - Google Analytics