У меня есть функция, которая выбирает из базы данных некоторые значения столбцов. Я хотел бы, чтобы эти выбранные значения были вставлены в список с максимум 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();
}
}
}
Есть несколько способов имплицировать то, что вы просите.
На уровне 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.
}
}
}
Я хочу сказать, что есть много решений, этот вопрос несколько расплывчатый. Вы должны найти то, что подходит вам в зависимости от вашего приложения, и пойти на это;
Удачи :)