Метки не отображают то, что мне нужно из базы данных SQL (Linq to SQL) - PullRequest
0 голосов
/ 14 июня 2019

У меня есть база данных, в которой хранятся данные, которые мне нужны, и я хочу отобразить эти данные в нескольких разных метках. Я выбираю первичный ключ, который представляет строки в датабельной форме из выпадающего списка, и при каждом выбранном изменении индекса я хочу получить другие связанные данные для этого конкретного первичного ключа (MID) в метках.

Я пытался использовать приведенный ниже код;

private void CBMeasDBMID_SelectedIndexChanged(object sender, EventArgs e)
    {
using (LinqDataClassesDataContext dataContext = new 
LinqDataClassesDataContext())
    {
    var query = from x in dataContext.MeasResults
                where x.MoldID == cBMeasDBMID.SelectedValue.ToString()
                        group x by x.MeasId into grp
                        select grp.OrderByDescending(x => x.Date).First();
    var result = query.OrderByDescending(x => x.Date).Take(5);

    daGridLastMeas.AutoGenerateColumns = false;
    daGridLastMeas.Columns["MeasId"].DataPropertyName = "MeasId";
    daGridLastMeas.Columns["Date"].DataPropertyName = "Date";               
    daGridLastMeas.Columns["Plane"].DataPropertyName = "Plane";
    daGridLastMeas.Columns["Position"].DataPropertyName = "Postn";

    daGridLastMeas.DataSource = result;

    var manuf = from y in dataContext.Moulds
                where y.MID == cBMeasDBMID.SelectedValue.ToString()
                select y.manuf;

    lblManufac.Text = manuf.ToString();

    var size = from a in dataContext.Moulds
               where a.MID == cBMeasDBMID.SelectedValue.ToString()
               select a.Size;

    lblSize.Text = size.ToString();

    var lastmeas = from c in dataContext.MeasResults
                   where c.MoldID == cBMeasDBMID.SelectedValue.ToString()
                   select c.Date;

    lblLastMeasDate.Text = lastmeas.ToString();

    var wi = from d in dataContext.Moulds
                 where d.MID == cBMeasDBMID.SelectedValue.ToString()
                 select d.AWI;

    lblWi.Text = wi.ToString();
        }
    }

Моя проблема в том, что код не извлекает данные, вместо этого, когда я впервые щелкаю в выпадающем списке, чтобы выбрать идентификатор, все метки показывают ВЫБРАТЬ текст, который является текстом выбора ComboBox по умолчанию для Первичного ключа, а затем отсутствует. изменить или получить данные, даже если я изменяю выбранный индекс. Как я могу решить эту проблему?

1 Ответ

1 голос
/ 14 июня 2019
    var manuf = (from y in dataContext.Moulds
            where y.MID == cBMeasDBMID.SelectedValue.ToString()
            select y.manuf).FirstOrDefault();

    lblManufac.Text = manuf.ToString();

    var size = (from a in dataContext.Moulds
           where a.MID == cBMeasDBMID.SelectedValue.ToString()
           select a.Size).FirstOrDefault();

    lblSize.Text = size.ToString();

    var lastmeas = (from c in dataContext.MeasResults
               where c.MoldID == cBMeasDBMID.SelectedValue.ToString()
               select c.Date).FirstOrDefault();

    lblLastMeasDate.Text = lastmeas.ToString();

    var wi = (from d in dataContext.Moulds
             where d.MID == cBMeasDBMID.SelectedValue.ToString()
             select d.AWI).FirstOrDefault();

    lblWi.Text = wi.ToString();

Думаю, это решит вашу проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...