SQL DataReader: недопустимая попытка чтения, когда нет данных для метки - PullRequest
0 голосов
/ 10 марта 2020

Я пытаюсь использовать SqlDataReader для выполнения запросов к двум таблицам, где 1-й столбец таблицы выбора - это внешний ключ, ссылающийся на таблицу Items, а затем отображать результаты в метках, но я продолжаю получать сообщение об ошибке:

Недопустимая попытка чтения, когда нет данных.

Вот мой код:

public partial class Read : System.Web.UI.Page
    {
        SqlConnection conn = new SqlConnection(@"data source = localhost; integrated security = true; database = dev_handin1");
        SqlCommand cmd = null;
        SqlDataReader rdr = null;
        string sqlsel = "SELECT MainItemId FROM Selection";

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                GetInfo();
            }
        }

        private void GetInfo() {
            try
            {
                cmd = new SqlCommand(sqlsel, conn);
                conn.Open();
                sqlsel = "SELECT * FROM Items WHERE ItemId = MyMainItem";
                rdr = cmd.ExecuteReader();

                var MyMainItem = rdr[0];

                    while (rdr.Read())
                    {
                        LabelCategory1.Text = rdr[1].ToString();
                        LabelHeadline1.Text = rdr[2].ToString();
                        LabelText1.Text = rdr[3].ToString();
                        LabelJoke1.Text = rdr[4].ToString();
                    }
            }
            catch (Exception ex)
            {
                LabelMessage1.Text = ex.Message;
            }
            finally
            {
                rdr.Close();
                conn.Close();
            }
        }
    }
}

Я довольно новое в этом, поэтому, пожалуйста, потерпите меня.

...