Tenho o seguinte código em minha aplicação:
public Usuario checkLogin(Usuario entity) { //return Usuario userEntity = new Usuario(); connection = mysql.OpenConnection(); try { MySqlCommand stm = new MySqlCommand(); MySqlDataReader data; stm.CommandText = "CALL validaLogin(?login, ?senha)"; stm.Connection = connection; stm.Parameters.AddWithValue("?login", entity.Login); stm.Parameters.AddWithValue("?senha", entity.Senha); var id = stm.ExecuteScalar(); errorUtil.showCustomAlert(id.ToString()); } catch(MySqlException ex) { errorUtil.showDBError(ex); } finally{ connection.Close(); } return userEntity; }
A função dele é basicamente receber um usuário e senha e efetuar a validação do login por meio do stored procedure validaLogin
. Porém, ao passar o atributo Login
do objeto entity
a minha consulta simplesmente não retornada nada (necessariamente precisa retornar pois os dados que digito no form são idênticos aos salvos no MySQL).
Entretanto, caso eu substitua o atributo do objeto por uma string
(conforme abaixo) obtenho sucesso em minha query.
stm.Parameters.AddWithValue("?login", "logindousuario"); stm.Parameters.AddWithValue("?senha", "senhadousuario");