b657834 2015-03-11 09:38 采纳率: 0%
浏览 1452

oracle jdbc update bind 不成功

正常的oralce update语句:

update apmtest set apm_int=20 where apm_nchar='11' and apm_numeric='12';

不知道为什么jdbc update bind两个参数时,就是执行不成功?怀疑是单引号的问题

执行不成功:

PreparedStatement ps_update1 = con
.prepareStatement("update apmtest set apm_int=? where apm_nchar=? and apm_numeric=?");
ps_update1.setInt(1, 20);
ps_update1.setString(2, "11");
ps_update1.setString(3, "12");

ps_update1.execute();

执行成功:

PreparedStatement ps_update1 = con
.prepareStatement("update apmtest set apm_int=? where apm_nchar='11' and apm_numeric=?");
ps_update1.setInt(1, 20);
ps_update1.setString(2, "12");
ps_update1.execute();

  • 写回答

1条回答 默认 最新

  • save4me 2015-03-12 09:12
    关注

    检查一下你的apm_nchar和apm_numeric字段的数据类型是文本类的还是数字类的,如果是数字类的,不需要加引号。
    另外有些语言string和char使用不同的引号,比如string使用双引号,char使用单引号,如果你有字段是char的,把相应的地方改成单引号试一试

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料