“PreparedStatementCallback; bad SQL grammar”怎么解决?

 我来答
百度网友bfba816
2018-01-06 · TA获得超过5930个赞
知道小有建树答主
回答量:52
采纳率:40%
帮助的人:7536
展开全部

I have an update method to update the content of a table based on a specific field and I am getting following exception.


解决方法:

Code is :

  1. public void updateTaxoActive(String oldDesc, String description) {

  2. Logger.getLogger(TypeCategoryJDBCTemplate.class.getName()).log(Level.INFO, "old taxonomy code is {0} new description is {1}", new Object[]{oldDesc, description});    String sql = "update product.typecategory set taxonomydescription = ? where taxonomydescription = ?";

  3. jdbcTemplateObject.update(sql, new Object[]{description,oldDesc},new TypeCategoryMapper());

g.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [select top ? * from (select top ? song.singer_id,song.song_id,song.song_name,song.title_url,song.mv_url,singer.

singer_name from webdb_prod_song as song,webdb_prod_singer as singer where song.singer_id=singer.singer_id) as music where music.singer_id not in (select top ? song.singer_id from webdb_prod_song as song,webdb_prod_singer as singer where song.

singer_id=singer.singer_id)]; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: '@P0' 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:583)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.

springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76).

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式