PreparedStatement pstmt2 = conn.prepareStatement("select * from employee where num = ‘N014’ " );
用这句查询没问题,但是用了占位符,死活不行
String num = "N014";
PreparedStatement pstmt2 = conn.prepareStatement("select * from employee where num = ? " );
pstmt2.setString(1, "N014");
返回的总是空集,有大神帮忙看看吗

解决方案 »

  1.   

    String num = "N014";这里定义字符串没有使用这可以去掉,这句是垃圾代码。
    String sql="select * from employee where num = ? " 
    PreparedStatement pstmt2 = conn.prepareStatement(sql);
    pstmt2.setString(1, "N014");
    没有啥问题说明你查询的结果就是空集。你把查询的结果贴出来看看
      

  2.   

    找到错误了,数据库中字符串定义的是char(10), 提取出来后的String存储的也是10个字符,都被用32补齐了,所以匹配不上,所以填充的时候也把String字符串转变成10个字符,不足用32补齐就好