string query = String.Format("SELECT Personnel.ID," +
                 "Person.Name,Personnel.TitleID,Personnel.Research,"+
                  "Person.Email,Personnel.OfficeRoomLocation,"+
                   "Personnel.OfficePhoneNo,Person.Photo,Personnel.PositionID FROM Personnel,Person where Personnel.PersonID=Person.ID AND Personnel.Type=1 ;");
                SqlCommand sorgu = new SqlCommand();
                sorgu.Connection = con;
                sorgu.CommandText = query;
                SqlDataReader data = sorgu.ExecuteReader();

                
                Hoca h1 = new Hoca();
           
                h1.lecturer = new List<Lecturer>();
                while (data.Read())
                {
                    //RankPosition ve RankTittle Alımı
                    string rankquery = String.Format("Select Enumeration.Type From Enumeration,Personnel Where Enumeration.ID=" + data[2].ToString());
                    string rankolum = "";
                    SqlCommand ranksorgu = new SqlCommand();
                    ranksorgu.Connection = con;
                    ranksorgu.CommandText = rankquery;
                    SqlDataReader rankdata = ranksorgu.ExecuteReader();
                    while (rankdata.Read())
                    {
                        rankolum = rankdata[0].ToString();

                    }
                    rankdata.Close();
               
                    Lecturer l1 = new Lecturer();
                    l1.id= data[0].ToString();
                    l1.Name = data[1].ToString();
                    l1.RankTitle = rankolum;
                    l1.Research = data[3].ToString();
                    l1.Email = data[4].ToString();
                    l1.Office = data[5].ToString();
                    l1.PhoneNumber = data[6].ToString();
                    l1.Photo = data[7].ToString();
                    l1.RankPosition = data[8].ToString();
                    h1.lecturer.Add(l1);
                    string str = js.Serialize(h1);
                    Label1.Text = str;
                }
                data.Close();
               
                  
                    
          
               
            }
            catch (Exception ex)
            {

                Label1.Text = ex.Message.ToString();
            }
           
        }
böyle bir kodum var ustekı sorgunun ıcındeyken dıger sorgudan gelen verıyı kullanmam gerekiyor
Bu Command ile ilişkili, öncelikle kapatılması gereken açık bir DataReader zaten var.
boyle bır hata alıyorum