急需学习 2021-10-11 21:05 采纳率: 25%
浏览 252

No value specified for parameter 2,

用的是MySQL·,书上推荐用的是数组传递参数,但我这里第二无法收到值
第一个是哪出错了呢?


public int updateBook(int amount, String bk_name) {
        String sql = "UPDATE bookstore SET amount =? WHERE bk_name =?";
        Object params = new Object[] {  amount,bk_name };
        int num = **this.jdbcTemplate.update(sql, params);**
        return num;

    }

报错:PreparedStatementCallback;
bad SQL grammar [UPDATE bookstore SET amount =? WHERE bk_name =?];
nested exception is java.sql.SQLException: No value specified for parameter 2
下面代码可以使用

public int updateBook(int amount, String bk_name) {
        String sql = "UPDATE bookstore SET amount =? WHERE bk_name =?";
        int num = **this.jdbcTemplate.update(sql,amount,bk_name);**
        return num;

    }

  • 写回答

2条回答 默认 最新

  • stacksoverflow 2021-10-11 22:02
    关注

    没看出有啥问题,可能是你的spring版本问题?按住ctrl用鼠标点击去,看看两种写法是不是调用的同一个方法。

    评论

报告相同问题?

问题事件

  • 修改了问题 10月12日
  • 修改了问题 10月12日
  • 修改了问题 10月11日
  • 修改了问题 10月11日
  • 展开全部

悬赏问题

  • ¥15 请问Quartus的Verilog代码怎么写?
  • ¥18 光催化第一性原理计算析氢效率STH怎么计算
  • ¥100 Mac 版foxmail 收邮件问题
  • ¥15 QWebEngineView
  • ¥15 如何使用shufflenet进行手写数字识别
  • ¥15 .net core 同时编辑怎么防止数据串了
  • ¥20 微信小程序播放直播流
  • ¥15 关于迷宫自走单片机循迹小车的知识
  • ¥15 python使用selenium工具爬取网站的问题
  • ¥15 visual studio中c语言用ODBC链接SQL SERVER