Quantcast
Channel: Comando While não funciona
Viewing all articles
Browse latest Browse all 9

Comando While não funciona

$
0
0

Prezados colegas, mais uma vez eu aqui precisando da ajuda de vc´s.

Tenho um formulário de login onde o usuario deve digitar seu usuario e senha e a partir daí é feito um select para verificar a senha digitada. Até aí tudo funciona perfeitamente.

Se a senha é digitada corretamente abre outro form que por enquanto é só um form de teste.

Mas quando digita a senha errada aparece a msg de que a senha foi digitada incorretamente, e é aí que começa os problemas, pelo código deveria aparecer a msg de erro e voltar ao mesmo formulario para digitar novamente os dados, porém ao invés de voltar no comando WHILE ele entra no form de teste da mesma forma, é como se tivesse digitado a senha corretamente apesar de aparecer a msg de senha incorreta.

Onde será que estou errando? Vai aí o código para quem puder ajudar.

Obs. O comando SELECT funciona corretamente, já verifiquei e ele retorna a senha corretamente.

Mais uma vez agradeço muito a quem puder ajudar.

While repete <> True

            Try

                consultar = "SELECT Senha FROM cadastro_usuario WhereUsuario=@Usuario"
                conexao = New SqlConnection("Server=.\SQLEXPRESS; AttachDbFilename=|DataDirectory|\cadastro_usuario.mdf; Database=cadastro_usuario; Integrated Security=True; Connect Timeout=30; User Instance=True")
                conexao.Open()
                comando = New SqlCommand(consultar, conexao)
                comando.Parameters.AddWithValue("@Usuario", TextBox1.Text)
                comando.ExecuteNonQuery()
                confirma_senha = Convert.ToString(comando.ExecuteScalar())
                conexao.Close()


            Catch ex As Exception

                MessageBox.Show(ex.Message)

            End Try

            If confirma_senha.Equals(TextBox2.Text) Then
                Form_Esqueceu_Senha.Show()
                Me.Hide()
                TextBox1.Text = ""
                TextBox2.Text = ""
                TextBox1.Focus()
                repete = True
            End If

            If Not confirma_senha.Equals(TextBox2.Text) Then
                MessageBox.Show("Usuário ou senha inválidos! Tente novamente", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
                TextBox1.Text = ""
                TextBox2.Text = ""
                TextBox1.Focus()
                repete = False

            End If
            comando.Dispose()
        End While


Viewing all articles
Browse latest Browse all 9