把原来的weblogic+oracle换成jboss+mysql后,遇到一个问题,数据库中如果存的数据是一个字节的,比如description字段的值为:a,则在java代码中查询description的值为空:
            // 查询公共项目信息
            rs = pstmt.executeQuery();
            if (rs.next()) {
                objPubMenuVO = new MenuVO();
                objPubMenuVO.setDescription(rs.getString("DESCRIPTION"));
            }
debug跟到这  rs.gerString("DESCRIPTION")的值=“”  
在数据库中查select * from pub_menu 得到的DESCRIPTION的值为 a

解决方案 »

  1.   

    将rs.gerString("DESCRIPTION")换成sql中查询出的字段的顺序来查试试看如description为第三列:rs.gerString(2)如果还取不到值。。那就是查询的问题。。否则就是上面那种方式读取时字段名写错了仔细debug看看就能找到错误了。
      

  2.   


    我试过rs.getString(6),description在rs的hashmap中的key是6,得到的是“-1”,应该不是字段名写错的问题,因为这个系统中所有的表中的字段,只要存的值是一个字符,查出来的都是空,现在这个问题已经影响到整个系统的运行了,求高手指点
      

  3.   

    只能debug调试一下了看看rs中查出的数据还有就是select * from pub_menu 查询中排序一下确定第一条数据。。然后看看是否正确。。怀疑是不是你查出的就是-1...jdbc的API应该没有这种bug。。还是自己大意仔细吧