public void loadStats(String name) {
		PoolConnection pcon = ConnectionPool.getConnection();
		PreparedStatement ps = null;

		try {
			Connection con = pcon.connect();
			ps = con.prepareStatement("SELECT * FROM `accounts` WHERE `name` = ?");
			ps.setString(1, name);
			ResultSet rs = ps.executeQuery();

			if (rs.next()) {
				this.name = rs.getString("name");
				rank = rs.getByte("rank");

				icons = new ArrayList<Pair<String, Integer>>();
				gender = rs.getByte("gender");

				if (gender == 1) {
					addIcon("pics/male.png", 16);
				} else if (gender == 2) {
					addIcon("pics/female.png", 14);
				}

				if (isVIP()) {
					addIcon("pics/icon_vip.png", 22);
				}

				kisses = rs.getInt("kisses");
				knuddels = rs.getInt("knuddels");
				onlineTime = rs.getInt("onlineTime");
				loginTimestamp = System.currentTimeMillis();

				String[] registration = rs.getString("registration").split(" ");
				String[] date = registration[0].split("-");
				registrationDate = String.format("%s.%s.%s", date[2], date[1],
						date[0]);
				registrationTime = registration[1].split("\\.")[0];

				if (isModerator()) {
					ipAddress = "1.3.3.7";
				} else {
					if (socket == null) {
						ipAddress = rs.getString("ipAddress");
					} else {
						ipAddress = socket.getInetAddress().getHostAddress();
					}
				}

				away = false;
				spam = 0;
				lastAction = 0;
			}
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			if (ps != null) {
				try {
					ps.close();
				} catch (SQLException e) {
				}
			}

			pcon.close();
		}
	}