SqlDataReader Cant Proceed into While : I have a problem in SqlDataReader it cannot proceed into while and cannot while.
    Here is my code
` List<tmp_WatchList> data = new List<tmp_WatchList>();
      using (SqlConnection con = new SqlConnection(conStr)){
      using (SqlCommand cmd = new SqlCommand("sp_CheckPersonList", con)) {
        try
        {
         cmd.CommandType = CommandType.StoredProcedure;
         cmd.Parameters.Add("@Name", SqlDbType.NVarChar).Value = name;
    
         SqlDataReader oReader = cmd.ExecuteReader();
                                 
         while (oReader.Read())
         {
         //data.Add(new tmp_WatchList
         //{
           tmp_WatchList l = new tmp_WatchList();
           l.id = int.Parse(oReader["id"].ToString());
           l.Name = oReader.GetValue(1).ToString();
           l.Crime = int.Parse(oReader.GetValue(2).ToString());
           data.Add(l);
            ///});
            }
           }
           catch (Exception ex)
           {
              throw new Exception(ex.Message);
           }
           finally
           {
            con.Close();
           }
          }
         }`
  
   
and my SP is:

<code>
   ALTER PROCEDURE [dbo].[sp_CheckPersonList]
    (
    @Name NVARCHAR(MAX) NULL
    )
    AS 
      BEGIN
        SELECT REPLACE(Name, '.', ''), Crime
        FROM [dbo].[tmp_WatchList]
        WHERE [Name] 
        LIKE CONCAT('%', REPLACE(@Name, ' ', '%'), '%')
      END
</code>

Can you tell me how it is done. or something is wrong with my structure.

Thanks