weixin_38502364
QianB哈哈哈
2018-12-09 14:53
采纳率: 50%
浏览 566
已采纳

java jdbc sql语句问题

a是int型,b是string
s.executeUpdate("update Account set Balance=Balance+a where AccountID='"+b+"'");
哪里出错了

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • qq_42577241
    星星星小冷猫 2018-12-09 15:58
    已采纳

    这样直接写就是
    Balance=Balance+a 这个a是字符串 就好比Balance原来是1,a也是1 那它就是Balance=1+a 而不是 Balance = 1+1
    应该这样写
    Balance=Balance+"+a+" 别用单引号.

    点赞 评论
  • caozhy

    s.executeUpdate("update Account set Balance=Balance+a where AccountID='"+b+"'");
    ->
    s.executeUpdate("update Account set Balance=Balance"+a+" where AccountID='"+b+"'");

    点赞 评论
  • litzany
    一把吉他 2018-12-09 17:03

    Balance=Balance+a 这俩都是int 类型吗?不是的话这么加不合适

    AccountID='"+b+"'" 注入注入啊。。。

    用setString吧

    点赞 评论
  • qq_31122833
    小达哥的垃圾桶 2018-12-10 01:51
    s.executeUpdate("update Account set Balance=Balance+a where AccountID='"+b+"'");
    ->
    s.executeUpdate("update Account set Balance=(Balance+"+a+") where AccountID='"+b+"'");
    
    点赞 评论
  • YAO_IT
    YAO_IT 2018-12-10 09:04

    Balance+a 都写在字符串里面了,没有赋值上去,a要和b的格式一样,用+号拼接**

    点赞 评论
  • zhongsan123
    才沐木 2018-12-10 09:49

    a在sql字符串内了,没有拼接对,s.executeUpdate("update Account set Balance=Balance+"+a+" where AccountID='"+b+"'");

    点赞 评论

相关推荐