数据库里的数据没有问题,用的jdbc

解决方案 »

  1.   

    数据库中定义成:
    a_char   VARCHAR2(20)
      

  2.   

    char会以空格填满20,001的长度只有3,所以不相等
    估计是这样,你可以尝试一下
      

  3.   

    执行pstmt.setShort (1, 1);后,sql语句变成这样:
    SELECT * FROM A_TABLE WHERE a_char=1;
     执行pstmt.setString (1, "001");后,sql是这样:
    SELECT * FROM A_TABLE WHERE a_char='001';你就可以看出它们的不同了。如果a_char是数字类型的,第一种方法OK。第二种显然找不到匹配的数据了。