Estou trabalhando em uma aplicação Desktop e preciso muito que ela seja multiusuário, e não sei como fazer, estou utilizando o padrão MVC e JDBC, a aplicação é para controle de estoque e mais de um usuário vai utilizar.
Vai precisar de um banco de dados, depois de tê-lo, você cria uma tabela, de preferência com o nome “login”, nessa tabela você adiciona as colunas “id” “nome” e “senha” (sem as aspas)…
Feito isso, você vai pra o seu IDE e conecta com o banco de dados. Eu costumo usar a comboBox, que é pra o usuário não ficar digitando o nome e tal. Mas você pode usar um jTextField normal.
R
rodriguesabner
//jTextField1(usuario), jTextField2(senha) try{conecta.executaSQL("SELECT * FROM tabela WHERE nome= '"+jTextField1.getText()+"'");conecta.rs.first();if(conecta.rs.getString("senha").equals(jTextField2.getText())){novojFrametela=newnovojFrame();tela.setVisible(true);dispose();}else{JOptionPane.showMessageDialog(null,"Usuário ou Senha Inválidos!");}}catch(SQLExceptionex){JOptionPane.showMessageDialog(null,"Usuário ou Senha Inválidos!");}
Eu já jogo direto no meu botão de acessar o menu, funciona tranquilo
M
Matheus_Henrique21 like
Não é bem isso Abner, será que se um usuário cadastrar um produto, e o outro que estiver visualizando os itens do estoque, ele vai poder ver os itens atualizados?
R
rodriguesabner
Olha, se o banco de dados estiver em rede, pode sim
R
rodriguesabner
Pq seria um banco de dados pra 30 computadores, entende? Todos receberiam o mesmo update.
No caso você não quer vários usuários, quer um só, correto? Aí faria por exemplo o usuário Matheus Henrique, e todos acessariam sua conta, e todos receberiam o cadastro que você fizesse no momento que apertasse no botão cadastrar…
M
Matheus_Henrique2
Seriam três usuários.
R
rodriguesabner
Mesma coisa então, o Banco de Dados continua na rede compartilhando os dados.
R
rodriguesabner
A única coisa que seria um problema, mas que nem chega a ser um, é o usuário logado em outra máquina ter que apertar o botão de sincronizar. Por enquanto eu só consigo fazer o update de tudo dando um sync manualmente…
M
Matheus_Henrique21 like
Então eu tenho que ficar atualizando sempre para pegar as informações de tempo em tempo?
R
rodriguesabner
Sim, infelizmente eu só estou conseguindo assim. Ainda não encontrei uma alternativa de fazer a atualização automática
M
Matheus_Henrique2
Complicado, mas sei que tem uma saída.
R
rodriguesabner
Sim, sempre tem!
R
Solucao aceita
rodriguesabner
Amigo, eu fui preguiçoso para achar essa solução hahhaa, mas achei rapidinho:
Timertimer=newTimer();timer.schedule(newTimerTask(){publicvoidrun(){//sua rotina de refresh…}},1000,1000);//1 segundo
Esse timer atualizaria a aplicação sem ter que ficar clicando para atualizar!!
M
Matheus_Henrique2
Entendi, eu não sei se seria uma boa prática isso, mas já é uma ótima solução!
M
Matheus_Henrique2
Eu sei que não vou ter muito problema, pois são só três usuários, mas sabe como é né!?