Я создаю программное обеспечение для онлайн-тестирования, используя C # winforms и SQL Server.Теперь у меня есть две таблицы (сервер SQL), одна из которых - вопрос , а другая - question_answers .Я вставляю вопросы и их ответы из базы данных в массив.У меня есть код что-то вроде этого.
public dbtest()
{
sqlconnection = new SqlConnection(ConnectionString);
Query =
"SELECT questions.id as qid, questions.question as qq FROM dbo.questions; ";
sqlcommand = new SqlCommand(Query, sqlconnection);
sqlconnection.Open();
SqlDataReader sdr = sqlcommand.ExecuteReader();
while (sdr.Read())
{
int quiz_id;
bool quiz_id1 = Int32.TryParse(sdr["qid"].ToString(), out quiz_id);
sqlconnection = new SqlConnection(ConnectionString);
Query =
"SELECT id, question_id, answer, is_correct FROM dbo.question_answers WHERE question_id = " + quiz_id + " ; ";
sqlcommand = new SqlCommand(Query, sqlconnection);
sqlconnection.Open();
SqlDataReader answr = sqlcommand.ExecuteReader();
while (answr.Read())
{
questions[quiz_id, 0] = sdr["qq"].ToString();
for (int ii = 1; ii < 5; ii++)
{
questions[quiz_id, ii] = answr["answer"].ToString();
}
}
}
}
Мне нужен массив, чтобы сделать это так.
questions[0, 0] = "The 2006 World Cup Football Tournament held in";
questions[0, 1] = "France";
questions[0, 2] = "China";
questions[0, 3] = "*Germany";
questions[0, 4] = "Brazil";
//
questions[1, 0] = "The 'Black flag' signifies";
questions[1, 1] = "revolution/danger";
questions[1, 2] = "*protest";
questions[1, 3] = "truce";
questions[1, 4] = "peace";
//
questions[2, 0] = "Robert Koch worked on";
questions[2, 1] = "*tuberculosis";
questions[2, 2] = "cholera";
questions[2, 3] = "malaria";
questions[2, 4] = "diabetes";
Но когда я использую для цикла , я получаютакие же записи ответов, как этот.
questions[0, 0] = "The 2006 World Cup Football Tournament held in";
questions[0, 1] = "France";
questions[0, 2] = "France";
questions[0, 3] = "France";
questions[0, 4] = "France";
//
Я новичок в программировании на win # от C #.И я не могу получить лучший алгоритм.Итак, у меня есть два вопроса.Первый: Как я могу исправить проблему этого кода?
{
questions[quiz_id, 0] = sdr["qq"].ToString();
for (int ii = 1; ii < 5; ii++)
{
questions[quiz_id, ii] = answr["answer"].ToString();
}
}
Второй: Существуют ли другие оптимальные решения для получения вопросов и их ответов из базы данных?Извините, если я не могу объяснить.Спасибо за ответы!