コード:
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 を返すのでしょうか?