Вставить в список значений из базы данных

1

У меня есть функция, которая выбирает из базы данных некоторые значения столбцов. Я хотел бы, чтобы эти выбранные значения были вставлены в список с максимум 26 элементами. Как я могу это сделать? Одна строка из списка содержит question с answer1,answer2,answer2,option1,option2,option3. Как я могу это сделать? Я не знаю, как работать со списками.

private void select()
{
    if (index.connect.State == ConnectionState.Open) {
        index.connect.Close(); 
    }

    MySqlCommand cmd = new MySqlCommand(dataA, index.connect);
    cmd.CommandType = CommandType.Text;
    using (index.connect)
    {
        index.connect.Open();
        MySqlDataReader rdr = cmd.ExecuteReader();
        try
        {
            if (rdr.Read())
            {
                label2.Text = rdr["question"].ToString();
                label3.Text = rdr["answer1"].ToString();
                label4.Text = rdr["answer2"].ToString();
                label5.Text = rdr["answer3"].ToString();
                r1 = (int)rdr["option1"];
                r2 = (int)rdr["option2"];
                r3 = (int)rdr["option3"];
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
        finally
        {
            index.connect.Close();
        }
    }
}
  • 0
    Вы имеете в виду, что вы хотите, чтобы в вашем запросе к базе данных было только 26 элементов? Если это то, что вы имеете в виду, вы можете использовать Array. Вы можете ограничить массивы до размера, который вы хотите.
  • 0
    Нет, Андрей, я хочу ограничить список
Теги:
select
list

1 ответ

1
Лучший ответ

Есть несколько способов имплицировать то, что вы просите.

На уровне SQL есть простое решение - вы можете выбрать определенное количество элементов, IE 26, используя ключевое слово "Top".

например,

SELECT TOP 26 Grade FROM StudentsTable;

На уровне приложения вы можете программным образом выбрать 26 элементов, которые вы хотите; Например, если вы получаете их из ASP-приложения в текстовые поля и взаимодействие с базой данных активируется из события button_Click, вы можете выбрать их в самой функции; Чтобы проиллюстрировать, скажем, вы хотите выбрать максимум 26 значений из 50 ярлыков с именем Label, которые вы найдете в кнопке. Нажмите:

List<int> MyLabels = FindMaxValues(<Your array of labels>, 26)
//Database stuff with MyLabels

И сама функция:

private static List<int> FindMaxValues(Labels[] myLbls, int AmountOutOfMax)
{
int LabelValue=0
for(int i=0;i<AmountOutOfMax;i++)
 {
  for(int k=0;k<50;k++)
  {
  LabelValue=int.Parse(myLbls[k])
   // find max, etc.
   }
 }
}

Я хочу сказать, что есть много решений, этот вопрос несколько расплывчатый. Вы должны найти то, что подходит вам в зависимости от вашего приложения, и пойти на это;

Удачи :)

  • 0
    Спасибо, я изменю эту функцию для своего скрипта, я понял.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню