top 后不允许使用问号占位符

来源:互联网 发布:网络中常用的表情符号 编辑:程序博客网 时间:2024/04/29 20:53

'@P0'附近有语法错误

 (2010-10-31 18:06:24)
转载
标签: 

杂谈

分类: 软件

'@P0'附近有语法错误

原因:

 

在Java中对数据库查询时经常使用“Select Top ? * From 表名 Where 列名 = ?”的SQL语句,此时的问号是PreparedStatement预编译对象的参数占位符,需要使用setXX()系列方法对其赋值后再执行。

但是,Top后面是不允许使用问号占位符的,此处的错误就是由此引起的。

解决方案:

应将Top后面的问号改为具体数字,或者使用“+”连接变量与字符串。

上句SQL可修改为以下写法:

"Select Top " + num + " * From 表名 Where 列名 = ?"

上述num为int型变量。除了Top后的问号以外,其他参数占位符不受此约束。

以上~~

原创粉丝点击