天天看点

'@P0'附近有语法错误

问题描述:

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

但是,Top后面是不允许使用问号占位符的,‘@P0’附近有语法错误就是由此引起的。

解决方案:

将Top后面的占位符改为具体数值,或者拼接字符串。

如:

“Select Top '” + num + “’ * From 表名 Where 列名 = ?”

上述num为String类型的变量。where调价你中的其他占位符不受此约束。

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。