sql = "select * from abcd where name = ? ";
PreparedStatement pstmt = conn.prepareStatement(sql);
ps.setString(1,"NameYourSearch"); or ps.setNull(1,Types.STRING);

解决方案 »

  1.   

    你的sql写的不对,where 后面的条件是什么呢?
    select * from abcd where name=?
      

  2.   

    我看了一下 Types. 里没有STRING ,但是有CHAR。
    能否具体讲解一下 setNull 的第二个参数是什么意思?
      

  3.   

    ChDw(米) 正确,第二个参数表示是string 类型的!值为 null 整句sql 意思为:select * from abcd where name is null
      

  4.   

    我没有看到STRING,只有CHAR
    我数据库里的数据类型是 VARCHAR2(15)
    那我这里第二个参数应该写什么呀?
      

  5.   

    sql = "select * from abcd where name = ?,aaa = ? ";
    PreparedStatement pstmt = conn.prepareStatement(sql);
    ps.setString(1,"NameYourSearch"); or ps.setNull(1,Types.STRING);
    ps.setString(2,"aaa"); or ps.setNull(1,Types.STRING);