增加字段cardid的长度,让他足够长

解决方案 »

  1.   

    如果这样的话当我getString取出来的时候,carid还会是我放进去的值么
    因为在jsp中我将carid变量设为0055,在数据库中我将card_id长度设为4位,
    难道0055在数据库中会变成5位????
      

  2.   

    好象不可能,你确信是这个sql报的?
    试试 0 00 005 ?
      

  3.   

    这个0055我是直接付给cardid的,carid="0055";
    是sql错误,
    实在没办法,我把数据库中的card_id字段改成varchar2(10),
    这下又说“违反约束条件“未找到父关键字,可0055的确在另一张表里有阿,
    而且用insert into bbs(id,card_id) values('001','0055)可以插进去,
    我怀疑prestmt.setBytes(1,cardid.getBytes());这句话的毛病,不知道
    除了setBytes(),还有没有别的方法
      

  4.   

    对于数值进行trunc或round
    对于char进行trim
      

  5.   

    PreparedStatement prestmt=conn.prepareStatement("insert into bbs(card_id) values(ltrim(rtrim(?)))");
      

  6.   

    发现毛病了
    将0055这个字符串通过setBytes("0055".getBytes())
    存到数据库中变成了00333535!!
    后来改成了setString()好使了,
    我不是到各位大哥在使用setXXXX方法的时候是怎么用的,什么时候用setBytes(),什么时候用别的,