需要参数 '@name',但未提供该参数

  public UserInfo GetUser(string userName)  
        {  
                string sql = "select * from Admin where UserName=@name";  
                SqlParameter[] param = new SqlParameter[]{  
                new SqlParameter("@name",userName),
                };  

                // 执行  
                 UserInfo user =new UserInfo ();  

                 using (SqlDataReader sdr = SqlHelper.ExecuteReader(sql, param))  
                 {  
                     while(sdr.Read())  
                     {  
                         user.UserName = sdr["UserName"].ToString();  
                         user.UserPWD =  sdr["PassWord"].ToString();  
                     }  

                       return user;  

            }  
        }  
    }  

System.Data.SqlClient.SqlException:“参数化查询 '(@name nvarchar(4000))select * from Admin where UserName=@name' 需要参数 '@name',但未提供该参数。”
报了一天的这个错 头都弄大了!!!!求大佬解决

SqlHelper.ExecuteReader
要看这个函数怎么实现的,里面可能有问题