freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

在線考試系統(tǒng)c sharp 高級(jí)開(kāi)發(fā)實(shí)訓(xùn)報(bào)告-文庫(kù)吧

2024-09-18 14:20 本頁(yè)面


【正文】 約束 備注 ID Int 否 主鍵 系統(tǒng) 編號(hào) CourseID Int 否 外鍵 課程編號(hào) Title Varchar1000) 否 外鍵 題目 AnswerA varchar(500) 否 外鍵 備選答案 A AnswerB varchar(500) 否 備選答案 B AnswerC varchar(500) 否 備選答案 C AnswerD varchar(500) 否 備選答案 D Answer varchar(2) 否 正確答案 表 8 : 判斷題信息表 字段名 數(shù)據(jù)類型 是否為空 約束 備注 ID Int 否 主鍵 系統(tǒng) 編號(hào) CourseID Int 否 外鍵 課程編號(hào) Title Varchar1000) 否 外鍵 題目 Answer bit 否 正確答案 徐州工業(yè)職業(yè)技術(shù)學(xué)院 C高級(jí)開(kāi)發(fā)實(shí)訓(xùn)說(shuō)明書(shū) 12 表 9 : 多選題信息表 字段名 數(shù)據(jù)類型 是否為空 約束 備注 ID Int 否 主鍵 系統(tǒng) 編號(hào) CourseID Int 否 外鍵 課程編號(hào) Title Varchar1000) 否 外鍵 題目 AnswerA varchar(500) 否 外鍵 備選答案 A AnswerB varchar(500) 否 備選答案 B AnswerC varchar(500) 否 備選答案 C AnswerD varchar(500) 否 備選答案 D Answer varchar(2) 否 正確答案 表 10 : 簡(jiǎn)答題信息表 字段名 數(shù)據(jù)類型 是否為空 約束 備注 ID Int 否 主鍵 系統(tǒng) 編號(hào) CourseID Int 否 外鍵 課程編號(hào) Title Varchar1000) 否 外鍵 題目 Answer Varchar1000) 否 正確答案 表 11 : 填空題信息表 字段名 數(shù)據(jù)類型 是否為空 約束 備注 ID Int 否 主鍵 系統(tǒng) 編號(hào) CourseID Int 否 外鍵 課程編號(hào) FrontTitle varchar(500) 否 外鍵 題目 BackTitle varchar(500) 否 題目 Answer varchar(200) 正確答案 四.公共類設(shè)計(jì) 在開(kāi)發(fā)項(xiàng)目中以類的形式來(lái)組織、封建一些常用的方法和事件,不僅可以提高代碼的重用率,也大大方便了代碼的管理。本系統(tǒng)中 通過(guò) 創(chuàng)建了 三層架構(gòu) OnLineExamBLL 層、OnLineExamDAL 層 和 一個(gè)公共類 UserService 設(shè)計(jì) ,其中包含 GetConnection ()方法 、SelectAll()方法 。具體代碼如下: public class UserService{ 徐州工業(yè)職業(yè)技術(shù)學(xué)院 C高級(jí)開(kāi)發(fā)實(shí)訓(xùn)說(shuō)明書(shū) 13 public ListScores SelectAll(string PaperID){ using (SqlConnection conn = ()){ string sql = @select ID,PaperID,Score,ExamTime,JudgeTime, from Score,Users where = and PaperID=39。 + PaperID + 39。 SqlCommand cmd = ()。 = sql。 ()。 SqlDataReader dr = ()。 ListScores list = new ListScores()。 while (()){ Users user = new Users()。 Scores scores = new Scores()。 = (dr[ID])。 = dr[UserID].ToString()。 = dr[UserName].ToString()。 = 。 = (dr[PaperID])。 = (dr[Score])。 = (dr[ExamTime])。 = (dr[JudgeTime])。 (scores)。 } ()。 ()。 return list。}} public static SqlConnection GetConnection(){ string connStr = [ConnectionString].ConnectionString。 SqlConnection conn = new SqlConnection(connStr)。 return conn。} 五.完成的主要功能 1:登錄模塊設(shè)計(jì) (1)系統(tǒng)默認(rèn)是不允許匿名登錄的,只有使用管理員分配的賬號(hào)和密碼才能登錄在線考試系統(tǒng)參加考試,這時(shí)就需要通過(guò)登錄模塊驗(yàn)證登錄用戶的合法性。登錄模塊是在線考試系統(tǒng)的第一道安全屏障,其運(yùn)行結(jié)果如圖所示: 徐州工業(yè)職業(yè)技術(shù)學(xué)院 C高級(jí)開(kāi)發(fā)實(shí)訓(xùn)說(shuō)明書(shū) 14 圖 51 用戶登錄 (2) 實(shí)現(xiàn)過(guò)程: 新建一個(gè)網(wǎng)頁(yè),命名為 ,主要實(shí)現(xiàn)系統(tǒng)的登錄功能。主要控件如表 7 所示: 表 51: 登錄界面用到的主要控件 控件類型 控件 ID 主要屬性設(shè)置 用途 TextBox txtUserID 無(wú) 輸入登錄用戶名 txtPwd TextModed 屬性設(shè)置為 Password 輸入登錄用戶密碼 CheckBox cbxRemeberUser Checked 屬性 設(shè)置為 True 記住用戶名 RequiredFieldValidator RequiredFieldValidator1 Controltovalidate 屬性 設(shè)置為 txtUserID 進(jìn)行驗(yàn)證 RequiredFieldValidator2 Controltovalidate 屬性 設(shè)置為 txtPwd 進(jìn)行驗(yàn)證 Button btlogin Text 屬性 設(shè)置為“登錄” 登錄 btconcel Text 屬性設(shè)置為“取消” 取消 輸入賬號(hào)和密碼等信息確認(rèn)無(wú)誤后,單機(jī)“登錄“進(jìn)行登錄。程序首先會(huì)判斷輸入的用戶名 是否正確,如果正確則根據(jù)選擇的 用戶名 調(diào)用公共類中相應(yīng)的方法驗(yàn)證賬號(hào)和密碼是否正確,如果正確,則會(huì)轉(zhuǎn)向與登錄身份符合的頁(yè)面 ( 3)實(shí)現(xiàn)代碼: protected void Page_Load(object sender, EventArgs e) { ()。 if (!IsPostBack){ try{ HttpCookie readcookie = [UsersID]。 = 。 } catch (Exception) { = 。 } } } protected void imgBtnLogin_Click(object sender, ImageClickEventArgs e){ 徐州工業(yè)職業(yè)技術(shù)學(xué)院 C高級(jí)開(kāi)發(fā)實(shí)訓(xùn)說(shuō)明書(shū) 15 string usersId = ()。 string pwdMd5 = ((), MD5).ToString()。 Users u = new Users()。 = usersId。 = pwdMd5。 bool success = (ref u)。 if (success){ if ( == pwdMd5)//輸入密碼與用戶密碼相同 { if (){ if (([UsersID], null)){ CreateCookie()。} else{ CreateCookie()。}} Session[userID] = ()。//存儲(chǔ)用戶編號(hào) ()。//轉(zhuǎn)向管理員操作界面 } else { = 您輸入的密碼錯(cuò)誤! 。}} else { = 該用戶不存在! 。}} private void CreateCookie(){ HttpCookie cookie = new HttpCookie(UsersID)。 if (){ = 。} = 。 (cookie)。} 2 名稱:抽取試題模塊設(shè)計(jì) (1)開(kāi)發(fā)在線考試系統(tǒng)過(guò)程中,需要考慮如何將試題顯示在頁(yè)面上,即如何將試題從數(shù)據(jù)庫(kù)中方讀取出來(lái)。比較合理的做法是將所有試題信息存儲(chǔ)在數(shù)據(jù)庫(kù)中,然后隨機(jī)抽取若干道試題,動(dòng)態(tài)地顯示在頁(yè)面當(dāng)中。為了實(shí)現(xiàn)此功能,設(shè)計(jì)出抽取試題模塊,運(yùn)行結(jié)果如圖所示 。 徐州工業(yè)職業(yè)技術(shù)學(xué)院 C高級(jí)開(kāi)發(fā)實(shí)訓(xùn)說(shuō)明書(shū) 16 圖 52: 隨機(jī)抽取試題 (2)實(shí)現(xiàn)過(guò)程: 在隨機(jī)抽取試題之前,考生要選擇考試的科目,然后根據(jù)選擇的科目隨機(jī)從數(shù)據(jù)庫(kù)中抽取試題,所以考生選擇考試科目是隨機(jī)抽取試題的條件,其運(yùn)行結(jié)果如圖所示: 圖 53: 選擇考試科目 新建一個(gè)網(wǎng)頁(yè),命名為 ,作為抽取試題頁(yè)面及考試頁(yè)面。該頁(yè)面用到的主要控件如 圖 所示: 徐州工業(yè)職業(yè)技術(shù)學(xué)院 C高級(jí)開(kāi)發(fā)實(shí)訓(xùn)說(shuō)明書(shū) 17 表 52: 抽取試題頁(yè)面用到的主要控件 控件類型 控件 ID 主要屬性設(shè)置 用途 Label lblPaperName 無(wú) 顯示 考試科目 labUser 無(wú) 顯示考生姓名 TextBox timeBox 無(wú) 顯示考試用時(shí) Repeater Repeater1 無(wú) 顯示 從數(shù)據(jù)庫(kù)中抽取 的試題 Button btnsubmit 無(wú) 提交試卷 當(dāng)頁(yè)面加載時(shí),根據(jù)考生選擇的科目在數(shù)據(jù)庫(kù)中隨機(jī)抽取試題,并顯示在 Repeater 控件中 。 ( 3)實(shí)現(xiàn)代碼如下: protected int singeCount = 1。 protected void Page_Load(object sender, EventArgs e){ if (!){ if (Session[userID] == null){ ()。} else{ string userId = Session[userID].ToString()。 string userName = (userId)。 Label i1 = (Label)(labUser)。 = userName。 = Session[PaperName].ToString()。 GetParperAll()。}}} private void GetParperAll(){ IEnumerable list = ()。 foreach (DataRowView o in list){ = o[0].ToString()。 break。} IEnumerable list1 = ()。 foreach (DataRowView o in list1){ = o[0].ToString()。 break。} IEnumerable list2 = ()。 foreach (DataRowView o in list2){ = o[0].ToString()。 break。} IEnumerable list3 = ()。 foreach (DataRowView o in list3){ = o[0].ToString()。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1