使用数据库和C#

时间:2013-03-08 08:56:21

标签: c# database

enter image description here我的数据库中有一个表格问题和答案,现在我需要逐个提取问题,然后按下NEXT按钮转到第二个问题。

  {    
  public partial class TakeTest : Form
   {
    public static User CurrentUser { get; set; }
    private DataService dataService;
    private List<Category> categories;
    private List<Exam> tests;
    // private List<Question> questions;
    private Dictionary<Question, List<Answer>> qa;    

    public TakeTest()
    {
        InitializeComponent();
        dataService = new DataService();
    }

    private void TakeTest_Load(object sender, EventArgs e)
    {

        // category
        categories = dataService.GetCategories();

        if (categories.Count > 0)
        {   
            cmbSelCategory.Items.AddRange(categories.ToArray());
            cmbSelCategory.SelectedIndex = 0;
        }

    }

    private void cmbSelCategory_SelectedIndexChanged(object sender, EventArgs e)
    {
        Category selectedCategory = (Category)cmbSelCategory.SelectedItem;

        tests = dataService.GetTests(selectedCategory.Id);

        cmbSelTest.Items.Clear();
        if (tests.Count > 0)
        {
            cmbSelTest.Items.AddRange(tests.ToArray());
            cmbSelTest.SelectedIndex = 0;
        }

    }

这就是我填写类别和测试的方式

问题:使用字典'问题,List'Answer'是个好主意吗?或者我怎么做呢

1 个答案:

答案 0 :(得分:4)

您似乎已经拥有Question课程。为什么不向该类添加Answers属性并填充问题详细信息和所有答案。然后你可以创建一个List<Question>,你可以从头到尾迭代。

迭代DictionaryList更难。

Acually,仔细查看您的代码,您似乎也有Exam类 - 这可能包含Question个列表,每个Question可能包含Answer列表{1}}秒。