利用ASP.NET構建網上考試系統

來源:互聯網
上載者:User
隨著電腦網路的普及,基於資料庫的B/S網上考試系統得到廣泛地應用,現以ASP.net(C#)+SQL server(或ACCESS)為例說明開發網上考試系統的實現方法。
  一、資料庫的設計: 
  建立資料庫netexam,在庫中添加考生資訊表StuInfo,分別建立以下欄位:考號ExamId(c)(主鍵)、考生姓名Name(c)、是否登入考試LogYn(c)、得分Score(c)、隨機產生的試題答案mca(c) (注:此處以多選題為例,單選題、判斷題同理)。添加多選題題庫表mc,建立以下欄位:題目question(c)、四個選choice1(c)、choice2(c)、choice3(c)、choice4(c)、答案answer(c)(注:多選題答案用0表示未選,1表示選擇,如選擇ABD就用1101表示)。
  二、考生登入:
  在此處將考生資訊插入表StuInfo,此處要防止考生重複登入!給指定唯一的考號,並將考號欄位ExamId(c)設為主鍵,當重複登入時,用Catch捕獲錯誤,給出相應提示,部分代碼如下(login.aspx):
private void ButOk_Click(object sender, System.EventArgs e)
{
 ...
 SqlConnection StuConn=new SqlConnection("Data Source=localhost;Integrated Security=SSPI;
 Initial Catalog=netexam");
 SqlCommand LoginCmd=StuConn.CreateCommand(); //可根據不同情況選擇不同的資料庫連接
 ...
 LoginCmd.CommandText="Insert into StuInfo(ExamId,Name)  values('"+TxtId.Text.Trim()+"','"+TxtName.Text.Trim()+"')";
 //將考號、姓名插入相應欄位,其中TxtId,TxtName分別是輸入考號和姓名的文字框
 try
 {
  ...
  Session["Id"]=TxtId.Text.Trim();
  StuConn.Open();
  LoginCmd.ExecuteReader();
  Response.Redirect("test.aspx");
 }
 catch(Exception) //捕獲相應錯誤
 {
  Response.Write("<script language="javascript">"+"");
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.