prepareStatement预编译对象超容易出现问题的一点

‘@P1’ 附近有语法错误解决方案
用此方法肯定能够解决问题 但是需要各位好好思索
今天我在运行一条SQL语句时发现报错

select * from (select ROW_NUMBER() over(order by ? ?) rownum,* FROM Shopping where shopType=?)
然后我反复在代码中测试错误,测试了两个小时发现代码逻辑上完全没有任何有误的

这让我非常苦恼 于是我在网上搜索办法

发现了prepareStatement预编译对象只能设置sql语句中的值

而不能设置参数 而我的sql语句(order by ? ?) 第一个?号是列名 第二个是排序的方式

两个都是参数 所以预编译对象无法给问号设置值

在这里只能直接凭借动态数据去进行拼接

select * from (select ROW_NUMBER() over(order by “+sort+” “+xu+”) rownum,* FROM Shopping where shopType=?

如果帮您解决了问题 希望您能点个关注 蟹蟹

猜你喜欢

转载自blog.csdn.net/MyAzhe0ci3/article/details/108150983