Sou iniciante em BD e em Java, com isso peço ajuda de vocês para o seguinte…
Preciso criar uma aplicação em Java, que quando inicializada apareca uma tela de Login e Senha… a pessoa digita esse login e dae aparece a tela inicial do programa.
A sacada é que tenho 2 tipo de Logins(Usuario comum e um super usuario que tem acesso a todas as informações), ou seja… no usuario comum so tenho acesso a algumas pocas coisas no meu banco de dados, no super usuario tenho acesso a praticamente tudo… então como faria algo desse tipo utilizando PostgreSQL.
Outra coisa, é que no meu banco de dados precisaria ter em uma determinada tabela, uma coluna que armazenasse uma data e hora… algo do tpw: 01/05/2009 - 15:00, entende?como poderia fazer isso.
No postgre você deve criar uma tabela Usuario, com um campo tipo_usuario para identificar qual o usuario que fez o login.
O tipo de dados que permite armazenar data e hora no postgre é o TIMESTAMP.
thiagocg
MKThEbEsT, acho q o mais simples e eficiente pra vc seria criar uma estrutura com menus e dar acesso ao menus de acordo com cada usuario
tipo:
“usuario tem varios menus”
assim vc resolveria a questão do que cada um pode acessar de forma bem simples, é claro q vc pode melhorar muito essa idéia criando perfis de acessos que podem ser compartilhados e tal, mas pra iniciar acho q isso ja te ajuda.
quanto a data e hora é só vc escolher qual tabela vc quer e cria nela um campo do tipo timestamp without time zone acho q é isso, q ao grava guardaria exatamente o q vc precisa!
Espero ter ajudado!
Abraço!
M
MKThEbEsT
Obrigado a todos pelas dicas.
Quanto ao lance de criar uma tabela contendo usuario, como ficaria o lance de autenticação?
Na propria tabela colocaria a senha da pessoa cadastrada para verificar a autentiação?
abraço a todos.
rodrigo.bossini
MKThEbEsT:
Obrigado a todos pelas dicas.
Quanto ao lance de criar uma tabela contendo usuario, como ficaria o lance de autenticação?
Na propria tabela colocaria a senha da pessoa cadastrada para verificar a autentiação?
abraço a todos.
Isso. O cara digita usuario e senha, e vc executa a seguinte query no banco:
SELECT * FROM Usuario where nome_usu = “nome que o cara digitou” AND senha_usu = “senha que o cara digitou”
Se a query não obtiver resultados, quer dizer que o cara não está cadastrado. Ou você oferece a chance de cadastrar ou simplesmente dá uma mensagem de erro.
Se a query obtiver resultado, quer dizer que o cara está lá. Utilizando a classe ResultSet, vc pegaria o tipo de usuario assim: rs.getString (“tipo_usu”).
Aí vc padroniza: se o tipo_usu for um, ele é admin do sistema senão não.
M
MKThEbEsT
Muito obrigado a todos.
Agora to quebrando a cabeça para fazer ler o Driver da JDBC no meu Eclipse/Netbeans, como disse sou iniciante… mas vo pegando aos poucos ;D.
Abraço!
M
MKThEbEsT
Galera, fui testar um pequeno login e senha aqui utilizando o PostgreSQL, vejam o erro.
tae o codigo.
System.out.println("Login");
x = s.nextLine();
System.out.println("Senha");
y = s.nextLine();
ResultSet rs = stm.executeQuery("SELECT login,senha FROM Usuario where login = "+x+" AND senha = "+y+"");
if(rs.next()){
System.out.println("Login valido");
}else{
System.out.println("Login INvalido");
}
System.out.println(rs);
Erro:
Exception in thread "main" org.postgresql.util.PSQLException: ERROR: column "maria" does not exist
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1592)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1327)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:192)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:451)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:336)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:235)
at Teste.main(Teste.java:26)
Só pra efeito:
No login eu digito: maria
Na senha: maria10
Que é o que coloquei como teste no meu BD na tabela Usuario.
B
Bel
Poxa!
Também estou com a mesma dúvida, se alguem puder ajudar ficaria muito grata.
rodrigo.bossini
MKThEbEsT:
Galera, fui testar um pequeno login e senha aqui utilizando o PostgreSQL, vejam o erro.
tae o codigo.
System.out.println("Login");
x = s.nextLine();
System.out.println("Senha");
y = s.nextLine();
ResultSet rs = stm.executeQuery("SELECT login,senha FROM Usuario where login = "+x+" AND senha = "+y+"");
if(rs.next()){
System.out.println("Login valido");
}else{
System.out.println("Login INvalido");
}
System.out.println(rs);
Erro:
Exception in thread "main" org.postgresql.util.PSQLException: ERROR: column "maria" does not exist
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1592)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1327)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:192)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:451)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:336)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:235)
at Teste.main(Teste.java:26)
Só pra efeito:
No login eu digito: maria
Na senha: maria10
Que é o que coloquei como teste no meu BD na tabela Usuario.
Faltou as aspas simples antes e depois do x e do y.
Assim funfa:
stm.executeQuery("SELECT login,senha FROM Usuario where login = '"+x+"' AND senha = '"+y+"'");
M
MKThEbEsT
rod.attack,
Rpz tu acredita que eu tava vindo justamente para dizer que resolvi o problema, hehee… cabei bulindo e vi que era aspas simples.