ALTERAR SENHA SISTEMA DE LOGIN

BRUNOGOMES 20/10/2012 15:54:33
#412407
Pessoal, estou com um sistema de login,
e estou com uma duvida ma parte de alterar senha..
No meu form de alterar senha, a pessoa tem q digitar o login, a senha antiga, a senha a nova e confirmar a senha nova..
Se oq tiver escrito na txt_SenhaNova.txt for = txt_confirmar.text entao ele faz o UPDATE no banco..
O problema é que estou fazendo o UPDATE pelo login q ta sendo digitado no txt_Login.text

Como faço para que seja verificado se oq foi digitado na parte de login, se realmente esse login existe ? pq se estiver escrito errado aí nao sera feito o update!

Dim con As New MySqlConnection([Ô]server=localhost; user id=root; password=admin; database=workshopmanager[Ô])
Dim cmd As New MySqlCommand
Dim senha As String
senha = txt_NovaSenha.Text
cmd = con.CreateCommand
con.Open()

If txt_NovaSenha.Text = txt_confirmar.Text Then
cmd.CommandType = CommandType.Text
cmd.CommandText = [Ô]UPDATE usuario SET senha_Usuario=@senha WHERE login_Usuario=@login[Ô]
cmd.Parameters.Add([Ô]@login[Ô], MySqlDbType.VarChar)
cmd.Parameters([Ô]@login[Ô]).Value = txt_Login.Text
cmd.Parameters.Add([Ô]@senha[Ô], MySqlDbType.VarChar)
cmd.Parameters([Ô]@senha[Ô]).Value = txt_NovaSenha.Text
cmd.ExecuteNonQuery()
MessageBox.Show([Ô]Senha alterada com sucesso! Senha alterada para: [Ô] & senha & [Ô] ![Ô], [Ô]Aviso[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information)
con.Close()
frm_Usuario.Show()
Me.Close()
Else
MessageBox.Show([Ô]A nova senha e a confirmação de senha devem ser iguais. Digite novamente![Ô], [Ô]Aviso[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information)
con.Close()
End If
KURTGU 20/10/2012 16:50:45
#412409
faz primeiro o select e se for = true o resultado voce faz o update...
TECLA 21/10/2012 11:23:19
#412427
Ao invés de utilizar o ExecuteNonQuery, experimente utilizar o método ExecuteScalar para obter a quantidade de registros afetados.
Se o valor do retorno for igual a 0, o login/senha informada é inválida.
Tópico encerrado , respostas não são mais permitidas