none
Pegar informações de um Banco de Dados e Armazenar em uma Variavel RRS feed

  • Pergunta

  • Ola pessoal,

    Estou desenvolvendo um Software e tenho uma duvida basica, A principio quero q quando alguem for logar no sistema ele reconheça se ha um usuario logado ou não, O que fiz criei no BD um campo chamado : Ativo com Valores true e False quando o usuario logo automaticamente o campo correspondente ao usuario fica como True, Ai saberei se esta logado ou não.

    Em fim a duvida eh, Como eu faço para buscar esta informação no banco de dados e armazenar numa variavel, Para fazer com que o software compare e descubra quem esta logado...

    Nao consigo fazer isso alguem me ajuda, Ao menos a pegar qualquer informação do DB e armazenar em uma variavel..

    Grato..

    quarta-feira, 26 de fevereiro de 2014 19:17

Respostas

  • Acho que é isso que ele quer, mas só lembrando uma coisa... se der pau na rede ou qualquer coisa do gênero e o programa ao sair não alterar o status no DB o banco não vai deixar mais o usuário conectar.

    Você terá que ir ao banco de dados e liberar na "mão". Pense bem na rotina que você vai escrever sobre isso. Pode setar para TRUE/FALSE sem problemas, mas eu colocaria, antes de bloquear, tipo "pingar" para o IP que o usuário foi liberado a ultima vez (salve o IP no banco quando for TRUE, quando alterar para FALSE troque o IP para NULL) - se o ping retornar zerado ou se for o mesmo IP (tipo o PC travou e resetou - o IP permaneceu o mesmo) ai desloga o usuário e loga de novo com o novo IP.

    • Marcado como Resposta Giovani Cr terça-feira, 4 de março de 2014 17:31
    sexta-feira, 28 de fevereiro de 2014 14:34
  • Que tipo de aplicação você está desenvolvendo?

    Web, Forms, Console... ?

    Se não tiver outra funcionalidade este campo no seu banco de dados, você pode utilizar outra forma, apenas fazendo o select para verificar o login e a senha do usuário e em caso de uma aplicação Web pode guardar o objeto retornado em sessão, caso seja uma aplicação desktop utilize variáveis auxiliares para guardar um valor inteiro, boolean ou outro tipo de dado... para que você possa realizar testes de verificação de login ou de que usuário está logado. 

    Espero ter ajudado!

    • Marcado como Resposta Giovani Cr terça-feira, 4 de março de 2014 17:31
    quinta-feira, 27 de fevereiro de 2014 11:59

Todas as Respostas

  • Que tipo de aplicação você está desenvolvendo?

    Web, Forms, Console... ?

    Se não tiver outra funcionalidade este campo no seu banco de dados, você pode utilizar outra forma, apenas fazendo o select para verificar o login e a senha do usuário e em caso de uma aplicação Web pode guardar o objeto retornado em sessão, caso seja uma aplicação desktop utilize variáveis auxiliares para guardar um valor inteiro, boolean ou outro tipo de dado... para que você possa realizar testes de verificação de login ou de que usuário está logado. 

    Espero ter ajudado!

    • Marcado como Resposta Giovani Cr terça-feira, 4 de março de 2014 17:31
    quinta-feira, 27 de fevereiro de 2014 11:59
  • Pelo que entendi, é não deixar o software logar em 2 máquinas ao mesmo tempo, isso num momento de rede?

    Se for assim, é simples. Lembre-se que pode ser um dos modos:


    Login = Seleciona a informação do BD para saber se aquele usuário x que está tentando se conectar tem liberação (true ou false)

    Se estiver false = Faça Login e Altere o BD para True

    Se estiver true = Bloqueia a Ação.


    Aí quando este usuário fechar o software, o Logout tem que ser automaticamente feito no BD, mudando a condição para False.


    É isso?

    At

    Alan
    sexta-feira, 28 de fevereiro de 2014 12:23
  • Acho que é isso que ele quer, mas só lembrando uma coisa... se der pau na rede ou qualquer coisa do gênero e o programa ao sair não alterar o status no DB o banco não vai deixar mais o usuário conectar.

    Você terá que ir ao banco de dados e liberar na "mão". Pense bem na rotina que você vai escrever sobre isso. Pode setar para TRUE/FALSE sem problemas, mas eu colocaria, antes de bloquear, tipo "pingar" para o IP que o usuário foi liberado a ultima vez (salve o IP no banco quando for TRUE, quando alterar para FALSE troque o IP para NULL) - se o ping retornar zerado ou se for o mesmo IP (tipo o PC travou e resetou - o IP permaneceu o mesmo) ai desloga o usuário e loga de novo com o novo IP.

    • Marcado como Resposta Giovani Cr terça-feira, 4 de março de 2014 17:31
    sexta-feira, 28 de fevereiro de 2014 14:34
  • Não tinha pensado nisso.. 

    Ou setar por "ID" de terminal. Funciona do mesmo modo do IP, porém tem a opção de acessa-lo em outra máquina e se guiando pelo ID.



    sábado, 1 de março de 2014 12:13
  • Sim, qualquer coisa que possa ser usado para identificar o PC (pode ser o MAC address também - obtê-lo em um programa que roda no cliente é fácil, e não existem 2 MAC addresses iguais*).
    quinta-feira, 6 de março de 2014 11:42