毕设要求做一个数据库精品课程的考试平台,要有主观题和客观题,客观题要能评分的,用ASP。NET和ACESS实现呀,
我不知道客观题部分要如何实现随机抽取试题呀,还有如何评分,有哪位牛人能指点一下的,最好能推荐一下相关书籍和代码下载的,不甚感激!!

解决方案 »

  1.   

    你们学校也太强了,我们公司就是做考试系统的.你们毕业设计就要做这个,还要不要我们这样的公司活了?随机抽题,使用select top 1 * from table_name order by newid()
    客观题评分很正常了.因为客户题的答案是固定的.到时到数据库中比较下就可以了.
      

  2.   

    题库表 答案表.抽题 select top 10 * from  表 order by newid();用户交提交的时候查一下答案.正确就加分.
      

  3.   

    我去年也是做在线考试系统!我用的是sql2000+asp.net的,不过都被我给仍了
      

  4.   

    ACCESS数据库则用"select top n * from mc order by rnd(id)",其中id为自动编号字段)。  在test.aspx页面上放置一个Panel容器控件,以便动态生成绑定到试题的控件,并将从表mc中随机生成的试题答案写入表StuInfo表中的mca字段,代码如下(test.aspx):private void Page_Load(object sender, System.EventArgs e){ if(!IsPostBack) {  ...  QuestCmd.CommandText="select top 10 * from mc order by newid()";//以随机生成10道题为例  QuestConn.Open();  QuestRd=QuestCmd.ExecuteReader();  while(QuestRd.Read())  {   Literal LitTxt=new Literal();    Literal LitBl=new Literal();   CheckBoxList ChkMc=new CheckBoxList();   ChkMc.ID="ChkMc"+i.ToString();   LitTxt.Text=i.ToString()+"、 "+Server.HtmlEncode(QuestRd["Question"].ToString())+"<BR><Blockquote>";   LitBl.Text="</Blockquote>";   ChkMc.Font.Size=11;   for(int j=1;j<=4;j++)   {    ChkMc.Items.Add(Server.HtmlEncode(QuestRd["Choice"+j.ToString()].ToString()));    ChkMc.Items[j-1].Value=j.ToString();   }   mcStr+=QuestRd["Answer"].ToString().Trim(); //mcStr是存储随机生成试题答案的字符串变量   MyPanel.Controls.Add(LitTxt);   MyPanel.Controls.Add(ChkMc);   MyPanel.Controls.Add(LitBl);   i++;  }  ...  QuestCmd.CommandText="update StuInfo set Mca='"+mcStr+"' where ExamId= '" +Session["Id"].ToString()+"'";   //将随机生成试题答案写入数据表   QuestConn.Open();  QuestRd=QuestCmd.ExecuteReader();  ... } ...} 
    ----------