Criar um formulário para alterar senha com o Banco de dados SQL

SQL Server

.NET

18/11/2014

Ai galera tudo bem?

Criei uma aplicação de login que faz a conexão no banco de dados que pega o login e senha do usuário para acessar o programa com as validações, mas o meu problema e que criei um formulário para alterar a senha, mais preciso pegar o usuario logado na aplicação e fazer a verificação da senha antiga e inserir a nova senha no banco de dados, fiz de várias forma e não consegui, preciso de um help. Coloque o ultimo comando que fiz para testar mas não resolver, desde já agradeço a todos.

            string strConnectionString = ConfigurationManager.ConnectionStrings["StringConexao"].ConnectionString; [code]
            SqlConnection conn = new SqlConnection();
            SqlCommand cmd = new SqlCommand();
            
            try
            {
                conn = new SqlConnection(strConnectionString);
                conn.Open();
                                   
                    cmd = new SqlCommand("UPDATE tblUsuario SET Senha = '" + txtNovaSenha.Text + "' WHERE Login = '" + txtLogin.Text + "'", conn);
                    
                    cmd.ExecuteNonQuery();

                    MessageBox.Show("Senha de Login Alterada com sucesso!", "Alterar Senha no Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    Close();
            }
            catch (Exception ex)
                    {
                        MessageBox.Show("Ocorreu o seguinte erro: " + ex.Message);
                    }}
Breno Ferreira

Breno Ferreira

Curtidas 0

Respostas

Soeuseijothaz

Soeuseijothaz

18/11/2014

A lógica é a seguinte:

1 - Na tela de login quando o usuário for válido você cria um Session com o ID ou LoginName dele. Sessions são variáveis criadas na memória do servidor que permanecem ativas enquanto o browser estiver aberto ou durante um tempo definido no time-out. Você pode jogar um valor ou mesmo um objeto tipo uma classe inteira para ela.
Criando uma Session:
           Session["Usuario"] =  txtLogin.Text.ToString();


2 - No formulário de alteração da senha você recupera o valor da Session exibe o formulário de alteração e usa o valor recuperado da senha para gravar os dados usando o conteúdo recuperado.
Recuperar valor da Session:
    string login =  Session["Usuario"]


Caso tenha dúvidas da uma pesquisada em "c# Session", pois vai achar vários exemplos e muito material.

Agora para ficar um controle de login mais robusto você deve utilizar o FormsAuthentication veja mais sobre o tema aqui:

http://devbrasil.net/profiles/blogs/autenticando-usuarios-em
GOSTEI 0
Breno Ferreira

Breno Ferreira

18/11/2014

Jothaz tudo bem?

Os modelos de Session que eu verifiquei só fala do asp.net, mas preciso para windows Form para fazer a validade do usuário. Tem algum tutorial se puder mandar um exemplo para Wind forms?

Desde já agradeço.
GOSTEI 0
Fabiano Carvalho

Fabiano Carvalho

18/11/2014

No where você coloca senha igual a senha digitada and login
GOSTEI 0
Soeuseijothaz

Soeuseijothaz

18/11/2014

Jothaz tudo bem?

Os modelos de Session que eu verifiquei só fala do asp.net, mas preciso para windows Form para fazer a validade do usuário. Tem algum tutorial se puder mandar um exemplo para Wind forms?

Desde já agradeço.


Foi mal achei que era WebForm.

Esta retornando algum erro ou simplesmente não executa nada?
GOSTEI 0
Soeuseijothaz

Soeuseijothaz

18/11/2014

Jothaz tudo bem?

Os modelos de Session que eu verifiquei só fala do asp.net, mas preciso para windows Form para fazer a validade do usuário. Tem algum tutorial se puder mandar um exemplo para Wind forms?

Desde já agradeço.


Foi mal achei que era WebForm.

Esta retornando algum erro ou simplesmente não executa nada?
GOSTEI 0
Breno Ferreira

Breno Ferreira

18/11/2014

Executa, mais quero de uma forma que na texbox pega o usuário logado na aplicação e faça a verificação do usuário e senha e depois salvar a nova senha no banco de dados conforme o código que postei, e o modelo que você postou foi de webforms. Preciso de um modelo como base para fazer esse procedimento.
GOSTEI 0
POSTAR