I have little problem here. I try to use SqlDataReader to read data from my database. Code is like this:
internal static User GetUser(string login)
{
SqlConnection conn = new SqlConnection(DataBaseUtility.ConnectionString);
conn.Open();
string sql = "SELECT * FROM BookMenagerDB.dbo.users";
//where UserLogin like @login
try
{
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@login", login);
User user = new User();
SqlDataReader sqlDataReader = cmd.ExecuteReader();
user.Id = (int)sqlDataReader["UserId"];
user.Login = sqlDataReader["UserLogin"].ToString();
user.PasswordHash = sqlDataReader["UserPassword"].ToString();
user.Salt = (byte[])sqlDataReader["UserPasswordSalt"];
return user;
}
catch (SqlException ex)
{
MessageBox.Show("GetUser fail");
}
conn.Close();
return new User();
}
I try sql query and I get data but line "user.Id = (int)sqlDataReader["UserId"];" show me there is no data in sqlDataReader. I have no idea what the problem is.