0

コード:

public int getLastGotKill()
{
    Connection con = null;
    int last_pvp_time = 0;
    try
    {
        con = L2DatabaseFactory.getInstance().getConnection(false);
        PreparedStatement statement;
        statement = con.prepareStatement("select last_got_kill from characters where obj_Id=?");
        statement.setInt(1, getObjectId());

        ResultSet rset = statement.executeQuery();
        while(rset.next())
        {
            last_pvp_time = rset.getInt("last_got_kill");
            _log.info("last pvp time is : " + last_pvp_time);
        }
        rset.close();
        rset = null;
        statement.close();
        statement = null;
    }
    catch(Exception e)
    {
        if(Config.ENABLE_ALL_EXCEPTIONS)
            e.printStackTrace();
    }
    finally
    {
        CloseUtil.close(con);
        con = null;
    }
    return last_pvp_time;
}

したがって、この関数を呼び出すとwhile loop内部に入りtry{}ますが、選択した列の値を出力しようとすると0が出力されるため、0が返されます...

last_got_kill column文字テーブルはbigint(20)タイプです

その列に数字があることがわかります。4294967295

しかし、なぜ私はいつも 0 を返すのでしょうか?

4

2 に答える 2