resultSet.getLong(1);数据库字段类型为int在windows下正常在linux下报错.高手给解释下吧

解决方案 »

  1.   

    #include <string.h>
    int main()
    {
        printf("Size of int is %d\n",sizeof(int));
        printf("Size of long is %d\n",sizeof(long));
        return 0;
    }请分别到不同系统下运行!
      

  2.   


    String sql = "select * from achievementappraiseitem where userid=? and year=? order by type";
    List list = new ArrayList();
    Connection conn = null;
    PreparedStatement pstmt = null;
    ResultSet rs = null;
    try {
    conn = DBManager.getConnection();
    pstmt = conn.prepareStatement(sql);
    pstmt.setInt(1, userid);
    pstmt.setInt(2, year);
    rs = pstmt.executeQuery();
    System.out.println(sql);
    System.out.println(userid);
    System.out.println(year);
    while (rs.next()) {
    System.out.println("test");
    AchievementAppraiseItem item = new AchievementAppraiseItem();
    System.out.println("test1");
    item.setId(rs.getLong(1));
    System.out.println("test2");
    item.setName(rs.getString(2));
    System.out.println("test3");
    item.setTaskQuantity(rs.getInt(3));
    System.out.println("test4");
    item.setWeight(rs.getInt(4));
    System.out.println("test5");
    item.setLowerLimit(rs.getDouble("lowerlimit"));
    System.out.println("test6");
    item.setUpperLimit(rs.getDouble("upperlimit"));
    System.out.println("test7");
    item.setRe(rs.getString(7));
    System.out.println("test8");
    item.setJan(rs.getDouble("jan"));
    System.out.println("test10");
    item.setFeb(rs.getDouble("feb"));
    System.out.println("test11");
    item.setMar(rs.getDouble("mar"));
    System.out.println("test12");
    item.setApr(rs.getDouble("apr"));
    System.out.println("test13");
    item.setMay(rs.getDouble("may"));
    System.out.println("test14");
    item.setJune(rs.getDouble("june"));
    System.out.println("test15");
    item.setJuly(rs.getDouble("july"));
    System.out.println("test16");
    item.setAug(rs.getDouble("aug"));
    System.out.println("test17");
    item.setSept(rs.getDouble("sept"));
    System.out.println("test18");
    item.setOct(rs.getDouble("oct"));
    System.out.println("test19");
    item.setNov(rs.getDouble("nov"));
    System.out.println("test20");
    item.setDec(rs.getDouble("december"));
    System.out.println("test21");
    item.setType(rs.getInt("type"));
    System.out.println("test22");
    item.setFinishedtasks(rs.getString("finishedtasks"));
    System.out.println("test23");
    item.setYear(rs.getInt("year"));
    System.out.println("test24");
    item.setLimitconfig(rs.getString("limitconfig"));
    System.out.println("test25");
    list.add(item);
    System.out.println("test26");
    }
    System.out.println("ok");
    } catch (Exception e) {
    LogUtil.logErr(e);
    e.printStackTrace();
    } finally {
    DBManager.closeAll(conn, pstmt, rs);
    }
    return list;
    这是全部代码,就是看不出哪的错
                            System.out.println(sql);
    System.out.println(userid);
    System.out.println(year);
    这三个正常打印,test也打印除了,往后就没打印了
      

  3.   

    c++ 中有有点数据类型是按字长定义的,所以不同机器的字长不同,数据类型的字节数会变
    但是java的字段没有按字长定义的
      

  4.   

    楼主怎么用System.out.println("");进行调试啊
    建议调试模式运行,这样错误更好查啊