пару кусков кода. без коментариев - все вродебы ясно.
Код:
private static final String OLYMPIAD_GET_HEROS = "SELECT `char_id`, `char_name` FROM `olympiad_nobles` WHERE `class_id` = ? AND `competitions_done` >= 9 AND `competitions_win` > 0 ORDER BY `olympiad_points` DESC, `competitions_win` DESC, `competitions_done` DESC";
Код:
protected void sortHerosToBe()
{
if(_period != 1)
return;
_heroesToBe = new FastList<StatsSet>();
ThreadConnection con = null;
FiltredPreparedStatement statement = null;
ResultSet rset = null;
try
{
con = L2DatabaseFactory.getInstance().getConnection();
StatsSet hero;
for(int i = 88; i < 135; i++)
{
statement = con.prepareStatement(OLYMPIAD_GET_HEROS);
statement.setInt(1, i);
rset = statement.executeQuery();
if(rset.next())
{
hero = new StatsSet();
hero.set(CLASS_ID, i);
hero.set(CHAR_ID, rset.getInt(CHAR_ID));
hero.set(CHAR_NAME, rset.getString(CHAR_NAME));
_heroesToBe.add(hero);
}
DatabaseUtils.closeDatabaseSR(statement, rset);
// Пропускаем классы 119-130 и 133
if(i == 118)
i = 130;
if(i == 132)
i++;
}
}
catch(SQLException e)
{
_log.warning("Olympiad System: Couldnt heros from db");
}
finally
{
DatabaseUtils.closeDatabaseCSR(con, statement, rset);
}
}