Imprime isto:
(AQUI PEGA DO MYSQL)
Usuário 1 com as perms R
---------------------------
Usuário 2 com as perms log.fab
---------------------------
(AQUI SÓ IMPRIME OS DADOS QUE FORAM SALVOS ACIMA)
Usuário 1
Permissão log.fab
---------------------------
Usuário 2
Permissão log.fab
A classe Usuário não possui nenhuma variável static.
Alguém consegue ajudar? Obrigado!
O código em si é este, mas não acho q vá ajudar em algo…
Pois o programa está pegando os dados corretamente do MySQL, só não está salvando corretamente. Está salvando sempre a última permissão salva do último usuário, como se estivesse static as permissões do usuário… Mas não está
//Carregar usuários
ps = con.prepareStatement("SELECT * FROM Usuarios");
ps.executeQuery();
rs = ps.getResultSet();
if (rs != null) {
while (rs.next()) {
int ID = rs.getInt("userID");
String nome = rs.getString("Nome");
String senha = rs.getString("Senha");
perms.clear();
if (rs.getString("Permissoes") != null) {
String s = rs.getString("Permissoes");
if (s.contains(";")) {
for (String P : s.split(";")) {
perms.add(gerPermissoes.getPerm(P));
}
} else if (!s.equals("")) {
perms.add(gerPermissoes.getPerm(s));
}
}
Usuario u = new Usuario(ID, nome, senha, perms);
String perm = "";
for (Permissao p : u.getPerms()) {
perm = perm + " " + p.getNomeDB();
}
System.out.println("Usuário " + u.getNome() + " com as perms " + perm);
System.out.println("---------------------------");
gerUsuarios.add(u);
}
}
} catch (SQLException ex) {
System.out.println("Erro ao se conectar o MySQL: " + ex.getMessage());
} finally {
sql.closeConnection(con, ps, rs);
}
new Estatisticas();
PDV = new principalPDV();
for (Usuario u : gerUsuarios.getAllUsers()) {
System.out.println("Usuário " + u.getNome());
for (Permissao p : u.getPerms()) {
System.out.println("Permissão " + p.getNomeDB());
}
System.out.println("---------------------------");
}
Peço desculpas pelo jeito que postei o código, segundo post que faço rs rs.
Agradeço pela ajuda, tanto a sua quanto a do @darlan_machado.
O erro estava na classe de gerenciamento das permissões, em que a ArrayList que salvava as permissões estava static. Eu não tinha visto isto antes por causa que estava focando procurar o erro na parte onde estava salvando os usuários, que postei o código, e na classe Permissão, onde salva a permissão em si, seus dados e nome.
Enfim. Removi o static e coloquei na Main um gerUsuarios gerUsuarios = new gerUsuarios(); e resolveu o problema.