wuruize888 2017-05-10 07:22 采纳率: 66.7%
浏览 904
已采纳

java,PreparedStatement,删除时能否加入like

PreparedStatement,通过这个删除一个类似值,比如
setString(1,这里怎么加like);或者有没有别的方法,谢谢

  • 写回答

2条回答 默认 最新

  • zb652561891 2017-05-10 07:24
    关注

    SQL:select * from students where name like '%tommy%';

    正常的sql如上,是可以直接执行的,

    那放到java的P热怕热的Statement中就应该是:

    //同时把tommy改成通配符?

    PreparedStatement pstmt1 = conn.prepareStatement("select * from student where name like '%?%'");

    pstmt1.setString(1,"tommy");//这里居然不通过

    解决方法一:使用拼接字符串

    PreparedStatement pstmt1 = conn.prepareStatement("select * from student where name like '%"+tommy+"%'");

    解决方法二:灵活变通(其实就是通配符?不能放在''单引号中)

    PreparedStatement pstmt1 = conn.prepareStatement("select * from student where name like ?");

    pstmt1.setString(1,"%"+"tommy"+"%");SQL:select * from students where name like '%tommy%';

    正常的sql如上,是可以直接执行的,

    那放到java的P热怕热的Statement中就应该是:

    //同时把tommy改成通配符?

    PreparedStatement pstmt1 = conn.prepareStatement("select * from student where name like '%?%'");

    pstmt1.setString(1,"tommy");//这里居然不通过

    解决方法一:使用拼接字符串

    PreparedStatement pstmt1 = conn.prepareStatement("select * from student where name like '%"+tommy+"%'");

    解决方法二:灵活变通(其实就是通配符?不能放在''单引号中)

    PreparedStatement pstmt1 = conn.prepareStatement("select * from student where name like ?");

    pstmt1.setString(1,"%"+"tommy"+"%");

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 Js代码报错问题不知道怎么解决
  • ¥15 gojs 点击按钮node的position位置进行改变,再次点击回到原来的位置
  • ¥15 计算决策面并仿真附上结果
  • ¥20 halcon 图像拼接
  • ¥15 webstorm上开发的vue3+vite5+typeScript打包时报错
  • ¥15 vue使用gojs,需求在link中的虚线上添加方向箭头
  • ¥15 CSS通配符清除内外边距为什么可以覆盖默认样式?
  • ¥15 SPSS分类模型实训题步骤
  • ¥100 求ASMedia ASM1184e & ASM1187e 芯片datasheet/规格书
  • ¥15 求解决扩散模型代码问题