在線考試系統(tǒng)講解.pdf_第1頁
在線考試系統(tǒng)講解.pdf_第2頁
在線考試系統(tǒng)講解.pdf_第3頁
在線考試系統(tǒng)講解.pdf_第4頁
在線考試系統(tǒng)講解.pdf_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第 10 章 在線考試系統(tǒng)開發(fā)實(shí)例 教學(xué)提示 本章介紹了在線考試系統(tǒng)的開發(fā)實(shí)例 通過實(shí)例進(jìn)一步介紹 ASP NET 在 實(shí)際項(xiàng)目中的應(yīng)用 讓讀者對 ASP NET 開發(fā)有更全面 完整的認(rèn)識(shí) 教學(xué)要求 了解使用 ASP NET 進(jìn)行項(xiàng)目開發(fā)的過程 了解使用 ASP NET 開發(fā)一個(gè)完 整應(yīng)用系統(tǒng)的編程方法 10 1 系 統(tǒng) 說 明 本系統(tǒng)是集支持 Access SQL Server 和 Oracle 3 種數(shù)據(jù)庫于一體的 在線考試系統(tǒng) 要在Access SQL Server和Oracle 3種數(shù)據(jù)庫中的一種中運(yùn)行本實(shí)例 只需要修改web config 中的參數(shù)即可 無需再次重新編譯程序 請打開webconfig文件 把DBType標(biāo)記的value屬性改為對應(yīng)的字符串 access sql oracle 其中 1 個(gè) 并在 web config 文件寫上對應(yīng)的連接字符串 系統(tǒng)默認(rèn)數(shù)據(jù)庫為 access 如果使用 access 數(shù)據(jù)庫 請把數(shù)據(jù)庫文件名改為 trybooks mdb 并放在 Ben try database 目錄下 并且保證ASP NET 用戶有足夠修改該數(shù)據(jù)庫文件的權(quán)限 用查詢分析器運(yùn)行 BenTry sql 文件 便可以得到初始數(shù)據(jù)庫 或者還原 trybooks 數(shù)據(jù)庫 備分文件 默認(rèn)管理員賬號為 admin 密碼為 123456 登錄后可以在修改密碼選項(xiàng)修改密碼 默認(rèn)考生的密碼與該考生的考生編號一致 考生在考試登錄頁面可以修改密碼 請初始化數(shù)據(jù)庫后按菜單的順序操作 如果跳過某些操作使數(shù)據(jù)不完整 會(huì)轉(zhuǎn)到錯(cuò)誤 頁面或出現(xiàn)異常 例如 添加一個(gè)課目后 請先在題庫管理中添加最少 1 道試題才可以生 成試卷 否則出現(xiàn)異常 因?yàn)樵囶}篩選器的緣故 首頁為根目錄的 index html 文件 系統(tǒng)完整的源程序請從北大出版社的網(wǎng)站下載 10 2 系 統(tǒng) 分 析 1 系統(tǒng)總體目標(biāo) 在線考試系統(tǒng)是企業(yè) 學(xué)校 面對內(nèi)部人員的考試系統(tǒng) 企業(yè)通過它可以建立自己的網(wǎng) 第 10 章 在線考試系統(tǒng)開發(fā)實(shí)例 315 315 上考場 可以讓內(nèi)部人員直接實(shí)行網(wǎng)上考試 一方面既減少了筆試的開銷 降低了企業(yè)成 本 提高企業(yè)的效率 另一方面又避免了筆試的繁瑣過程 使考試過程變得輕松 快捷 方便 很適合現(xiàn)代要求高效率的企業(yè)或?qū)W校 同時(shí)又能有效控制考試的作弊情況 確???試能公開 公正地進(jìn)行 使用該系統(tǒng) 企業(yè) 學(xué)校 可以建立自己的試題庫 試卷和員工 學(xué)生 的考試記錄 并可 以隨時(shí)進(jìn)行考試 考生也可以通過該系統(tǒng)查詢考試成績和查考試答案 2 系統(tǒng)功能模塊圖 系統(tǒng)功能模塊圖如圖 10 1 所示 圖 10 1 在線考試系統(tǒng)功能模塊圖 1 試題管理 1 考試科目管理 定義考試科目 在系統(tǒng)中新建考試科目 編輯考試科目 可以對科目進(jìn)行編輯 修改科目名稱 刪除考試科目 刪除考試科目會(huì)將該科目的試卷和題庫中該科目的試題一并刪除 所以 請謹(jǐn)慎使用 2 題庫管理 添加試題 添加試題 試題答案 類型和試題科目 把試題錄入到題庫中 編輯試題 將已經(jīng)存在的試題修改題干 答案或類型 刪除試題 將存在的試題刪除 3 試卷管理 手動(dòng)生成試卷 自己手動(dòng)出題 可以選擇把該試卷的試題一并錄入題庫中 隨機(jī)生成試卷 選擇好科目后 系統(tǒng)自動(dòng)從題庫中選擇符合條件的試題組合成一張?jiān)嚲?選擇試題生成試卷 從題庫中選擇符合條件的試題生成試卷 2 考生管理 1 部門 考生管理 添加部門 考生 添加參加考試的部門和考生 更新部門 考生 更新參加考試的部門和考生 刪除部門 考生 刪除參加考試的部門和考生 ASP NET 程序設(shè)計(jì)教程與實(shí)訓(xùn) C 語言版 316 316 2 考試權(quán)限設(shè)置 定義考生考試權(quán)限 將定義好的試卷的考試權(quán)限授權(quán)給要參加該試卷考試的考生 取消考生考試權(quán)限 取消已授權(quán)考生的考試權(quán)限 3 考試監(jiān)控 取消考生考試資格 對于違反紀(jì)律的考生 取消其考試資格 該考生將沒有該科目考 試權(quán)限 恢復(fù)考試權(quán)限 對于人為原因造成考試中斷的 恢復(fù)該考生重新考試的權(quán)限 4 考試成績管理 查看各部門的所有考生的成績列表 并根據(jù)成績排序 3 系統(tǒng)管理 1 系統(tǒng)權(quán)限管理 添加 刪除管理員 并可以定義各管理員的管理權(quán)限 2 更改密碼 管理員更改自己的登錄密碼 4 考試管理 1 在線考試 考生輸入自己姓名 考號和選擇考試科目 進(jìn)入考試信息頁面 檢查考試信息是否正 確 在限定時(shí)間內(nèi)完成考試 并提交試卷 提交試卷后可立即查看當(dāng)前科目的考試成績 2 成績查詢 考生輸入自己的姓名 考號 進(jìn)入成績表頁面 顯示該考生過往全部考試的試卷名和 成績 選擇試卷名 進(jìn)入該試卷的答案記錄 可以查看自己的答案和正確答案 3 系統(tǒng)用例圖 系統(tǒng)用例圖如圖 10 2 所示 圖 10 2 系統(tǒng)用例圖 第 10 章 在線考試系統(tǒng)開發(fā)實(shí)例 317 317 4 系統(tǒng)數(shù)據(jù)流圖 系統(tǒng)數(shù)據(jù)流圖如圖 10 3 所示 圖 10 3 系統(tǒng)數(shù)據(jù)流圖 5 考生在線考試活動(dòng)圖 考生在線考試活動(dòng)圖如圖 10 4 所示 ASP NET 程序設(shè)計(jì)教程與實(shí)訓(xùn) C 語言版 318 318 圖 10 4 考生在線考試活動(dòng)圖 6 系統(tǒng)功能頁面 系統(tǒng)的主要功能頁面見表 10 1 表 10 1 系統(tǒng)主要功能頁面 系統(tǒng)功能 實(shí)現(xiàn)頁面 系統(tǒng)主頁面 index html 數(shù)據(jù)持久層類文件 Ben try cs 系統(tǒng)后臺(tái)管理登錄頁面 admin adminLogin aspx 系統(tǒng)后臺(tái)管理主頁面 admin admin html 考試試卷管理頁面 admin mgTrybooks aspx 生成試卷頁面 admin trybooksManage aspx 考試成績管理頁面 admin mgScore aspx 學(xué)生在線考試登錄頁面 stuTry stuLogin aspx 學(xué)生在線考試頁面 stuTry try aspx 10 3 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì) 根據(jù)系統(tǒng)的需求和分析 系統(tǒng)需要設(shè)計(jì)的數(shù)據(jù)庫表有考試科目表 試卷信息表 題 庫表 試卷表 考試成績及答案表 考試權(quán)限表 部門 班級表 考生表和管理員表等 見 表 10 2 至表 10 10 第 10 章 在線考試系統(tǒng)開發(fā)實(shí)例 319 319 表 10 2 題庫表 allTrys 字段名稱 數(shù)據(jù)類型 允許空 主 外鍵 備 注 trys id int 非空 主鍵 試題編號 自動(dòng)增長 object id int 非空 外鍵 考試科目 主表 allObject try diff int 非空 試題難度 1 簡單 2 一般 3 困難 try score int 非空 試題分值 try type int 非空 試題類型 1 判斷 2 單選 3 多選 try subject VarChar 200 非空 題目題干 a VarChar 100 A 選項(xiàng)內(nèi)容 判斷題不需要 b VarChar 100 B 選項(xiàng)內(nèi)容 判斷題不需要 c VarChar 100 C 選項(xiàng)內(nèi)容 判斷題不需要 d VarChar 100 D 選項(xiàng)內(nèi)容 判斷題不需要 try keys VarChar 10 非空 試題答案 表 10 3 試卷表 trys 試卷表模版 具體表名由管理員定義 字段名稱 數(shù)據(jù)類型 允許空 主 外鍵 備 注 subject id int 非空 主鍵 試題編號 自動(dòng)編號 try type int 非空 試題類型 try score int 非空 試題分值 try diff int 非空 試題難度 try subject VarChar 200 非空 題干 a VarChar 100 選項(xiàng) a 的內(nèi)容 b VarChar 100 選項(xiàng) b 的內(nèi)容 c VarChar 100 選項(xiàng) c 的內(nèi)容 d VarChar 100 選項(xiàng) d 的內(nèi)容 try keys VarChar 10 非空 題目答案 表 10 4 考試權(quán)限控制表 CanTry 字段名稱 數(shù)據(jù)類型 允許空 主 外鍵 備 注 stu num Int 非空 考生編號 Tbsdb name VarChar 50 非空 試卷數(shù)據(jù)表名 ASP NET 程序設(shè)計(jì)教程與實(shí)訓(xùn) C 語言版 320 320 表 10 5 考試成績及答案表 stuScore 字段名稱 數(shù)據(jù)類型 允許空 主 外鍵 備 注 stu num Int 非空 主鍵 考生編號 tbsdb name VarChar 50 非空 試卷表名 tbs name VarChar 20 非空 試卷名 try date VarChar 50 非空 考試日期 stu keys VarChar 200 非空 考生答案 stu score Int 非空 考試成績 submitTime VarChar 50 非空 提交時(shí)間 表 10 6 試卷信息表 mgTrybooks 字段名稱 數(shù)據(jù)類型 允許空 主 外鍵 備 注 tbs id Int 非空 主鍵 試卷編號 自動(dòng)編號 object id Int 非空 外鍵 所屬科目 主表 allObject tbs name VarChar 50 非空 試卷名 tbsdb name VarChar 50 非空 試卷表名 try time Int 非空 考試時(shí)間 try score Int 非空 卷面總分 表 10 7 考試科目表 allObject 字段名稱 數(shù)據(jù)類型 允許空 主 外鍵 備 注 object id Int 非空 主鍵 考試科目編號 object name VarChar 50 非空 考試科目名稱 表 10 8 部門 班級表 stuClass 字段名稱 數(shù)據(jù)類型 允許空 主 外鍵 備 注 class id int 非空 主鍵 部門 ID 自動(dòng)編號 class name VarChar 20 非空 部門名稱 表 10 9 考生 students 字段名稱 數(shù)據(jù)類型 允許空 主 外鍵 備 注 stu num VarChar 20 非空 主鍵 考生編號 class id int 非空 外鍵 考生所屬部門 班級 主表 stuClass stu name VarChar 20 非空 考生姓名 stu pass VarChar 20 非空 考生的登錄密碼 stu sex VarChar 20 非空 考生性別 isLogin int 非空 登錄狀態(tài) 0 未登錄 1 已經(jīng)登錄 isSubmit int 非空 試卷提交狀態(tài) 0 未提交 1 已提交 第 10 章 在線考試系統(tǒng)開發(fā)實(shí)例 321 321 表 10 10 admin 管理員 字段名稱 數(shù)據(jù)類型 允許空 主 外鍵 備 注 admin num int 非空 主鍵 管理員 ID admin name VarChar 20 非空 管理員的用戶名 admin pass VarChar 20 非空 管理員的登錄密碼 mgTry int 試題管理 0 不具備權(quán)限 1 具備權(quán)限 mgStudents int 考生管理 0 不具備權(quán)限 1 具備權(quán)限 mgSystem int 系統(tǒng)管理 0 不具備權(quán)限 1 具備權(quán)限 10 4 程序主要代碼 1 系統(tǒng)主界面 系統(tǒng)主界面文件為 index html 系統(tǒng)主界面如圖 10 5 所示 圖 10 5 系統(tǒng)主界面 2 系統(tǒng)后臺(tái)管理登錄頁面 后臺(tái)系統(tǒng)管理的文件位于 admin adminLogin aspx 默認(rèn)管理員賬戶為 admin 密碼為 123456 后臺(tái)系統(tǒng)管理登錄頁面如圖 10 6 所示 ASP NET 程序設(shè)計(jì)教程與實(shí)訓(xùn) C 語言版 322 322 圖 10 6 后臺(tái)管理登錄頁面 文件名 admin adminLogin aspx protected System Web UI WebControls PlaceHolder pholdAdminLogin private void Page Load object sender System EventArgs e Control myControl Page LoadControl ascxfile adminLogin ascx pholdAdminLogin Controls Add myControl 從上面的代碼可以看出 adminLogin aspx 頁面通過一個(gè) PlaceHolder 控件動(dòng)態(tài)加載了 用戶控件 ascxfile adminLogin ascx 后臺(tái)系統(tǒng)管理登錄部分的關(guān)鍵代碼如下 文件名 ascxfile adminLogin ascx 后臺(tái)管理登錄 private void btnLogin Click object sender System EventArgs e DataUse datause new DataUse DataSet ds datause AdminLogin tboxAdminName Text tboxAdminPass Text 驗(yàn)證賬號和密碼是否正確 if ds Tables 0 Rows Count 0 設(shè)置試題管理的權(quán)限 if Convert ToInt32 ds Tables 0 Rows 0 mgTry 1 Session mgTry 1 設(shè)置考生管理的權(quán)限 if Convert ToInt32 ds Tables 0 Rows 0 mgStudents 1 Session mgStudetns 1 設(shè)置系統(tǒng)管理的權(quán)限 第 10 章 在線考試系統(tǒng)開發(fā)實(shí)例 323 323 if Convert ToInt32 ds Tables 0 Rows 0 mgSystem 1 Session mgSystem 1 Response Redirect Admin html else labError Text 該賬號不存在或密碼錯(cuò)誤 3 后臺(tái)管理界面 后臺(tái)系統(tǒng)管理的文件位于 admin admin html 后臺(tái)系統(tǒng)管理的主要功能有 1 試題管理 考試題目管理 考試題庫管理 考試試卷管理 2 考生管理 考生 部門管理 考試權(quán)限管理 考試成績管理 考生考試監(jiān)控 3 系統(tǒng)管理 管理權(quán)限設(shè)置 修改用戶密碼 返回登錄頁面 后臺(tái)系統(tǒng)管理登錄界面如圖 10 7 所示 圖 10 7 后臺(tái)管理頁面 4 考試試卷管理 考試試卷管理的模塊文件位于 admin mgTrybooks aspx 可在此模塊中編輯 刪 除已定義好的試卷 考試試卷管理頁面如圖 10 8 所示 ASP NET 程序設(shè)計(jì)教程與實(shí)訓(xùn) C 語言版 324 324 圖 10 8 考試試卷管理頁面 5 生成試卷 生成試卷的模塊文件位于 admin trybooksManage aspx 每個(gè)試卷生成時(shí)會(huì)由本系 統(tǒng)新創(chuàng)建一張表來保存這張?jiān)嚲?該模塊的關(guān)鍵代碼如下 文件名 admin trybooksManage aspx cs 實(shí)例化數(shù)據(jù)操作類 DataUse datause new DataUse private void Page Load object sender System EventArgs e if IsPostBack BindObject 給試卷表隨機(jī)一個(gè)名稱 txtTbsDbName Text RanTableName 課目下拉菜單的數(shù)據(jù)綁定 public void BindObject string strSelect select from allobject DataSet ds datause GetData strSelect listObject DataTextField object name listObject DataValueField object id listObject DataSource ds Tables 0 listObject DataBind 生成隨機(jī)的表名 public string RanTableName 取出當(dāng)前的時(shí)間實(shí)例 string strTime DateTime Now ToString yyyymmddhhmmss 第 10 章 在線考試系統(tǒng)開發(fā)實(shí)例 325 325 儲(chǔ)存所有的字符變量 string strLetter A B C D E F G H I J K L M N O P Q R S T U V W X Y Z string strHead strLetter Split new Char 產(chǎn)生 4 位隨機(jī)數(shù) Random rannum new Random for int i 0 i 2 i strTime strHead rannum Next 0 25 strTime return strTime 題庫篩選生成的單擊事件 private void btnAddAllTrys Click object sender System EventArgs e string dbType1 System Configuration ConfigurationSettings AppSettings DBType ToLower 判斷該試卷表是否存在 string strSelect select count from mgTrybooks where tbsdb name txtTbsDbName Text if datause DataCount strSelect 0 創(chuàng)建試卷表的 sql 語句 string strCreateTable create table txtTbsDbName Text if dbType1 oracle strCreateTable subject id Number 10 primary key try type Number 10 not null try score Number 10 not null try diff Number 10 not null try subject varchar2 200 not null a varchar2 100 b varchar2 100 c varchar2 100 d varchar2 100 try keys varchar2 10 not null else strCreateTable subject id int Identity 1 1 primary key try type int not null try score int not null try diff int not null try subject varchar 200 not null a varchar 100 b varchar 100 c varchar 100 d varchar 100 try keys varchar 10 not null 錄入試卷管理表的 sql 語句 string strInsert if dbType1 oracle strInsert insert into mgTrybooks tbs id object id tbs name tbsdb name try time try score values tbs id NextVal Convert ToInt32 listObject SelectedItem Value txtTbsName Text txtTbsDbName Text Convert ToInt32 listTime SelectedItem Value Convert ToInt32 listAllScore SelectedItem Value else strInsert insert into mgTrybooks object id tbs name tbsdb name try time try score values Convert ToInt32 listObject SelectedItem Value txtTbsName Text txtTbsDbName Text Convert ToInt32 ASP NET 程序設(shè)計(jì)教程與實(shí)訓(xùn) C 語言版 326 326 listTime SelectedItem Value Convert ToInt32 listAllScore SelectedItem Value 生成試卷表并把相關(guān)信息錄入試卷管理表的事務(wù) datause CreateTrys strCreateTable strInsert 轉(zhuǎn)向的頁面及傳遞的參數(shù) string strUrl addTrysByAll aspx strUrl TbsName txtTbsName Text strUrl strUrl strUrl strUrl strUrl strUrl strUrl Response Redirect strUrl else Response Output Write alert 該數(shù)據(jù)表已經(jīng)存在 請換一個(gè) 返回 private void btnBack Click object sender System EventArgs e Response Redirect mgTrybooks aspx 6 考試成績管理 考試成績管理模塊文件位于 admin mgScore aspx 主要用于查詢學(xué)生考試成績 考試成績管理頁面如圖 10 9 所示 圖 10 9 考試成績管理頁面 第 10 章 在線考試系統(tǒng)開發(fā)實(shí)例 327 327 7 學(xué)生在線考試 學(xué)生經(jīng)過首頁登錄成功后 進(jìn)入在線考試界面 該功能模塊位于 stuTry try aspx 首先在頁面中編寫一個(gè) javascript 腳本程序在 IE 狀態(tài)欄提示剩余時(shí)間 關(guān)鍵代碼如下 文件名 stuTry try aspx var timer setInterval CountTime 1000 var T minute var T second 0 function CountTime if T second 0 時(shí)間結(jié)束 if T minute 0 else T minute T second 59 else T second window status 你的時(shí)間還剩 T minute 分 T second 秒 整個(gè)試卷都是根據(jù)試題庫自動(dòng)生成的 學(xué)生提交試卷后將在系統(tǒng)中保存學(xué)生的答題 內(nèi)容 文件名 stuTry try aspx cs 試卷名 public string strTryName 登錄時(shí)間 public string strLoginTime 提交時(shí)間 public string strSubmitTime 考試時(shí)間 public int intTryTime 實(shí)例化數(shù)據(jù)操作類 DataUse datause new DataUse 初始化變量 private void Page Load object sender System EventArgs e if Session trybooks null Session stu reset 1 DateTime nowTime DateTime Now 試卷名 strTryName Convert ToString Session tryObject 登錄時(shí)間 strLoginTime nowTime ToLongTimeString 取出該試卷的考試時(shí)間 string sqlstr select try time from mgTrybooks where tbsdb name Session trybooks ToString DataSet ds datause GetData sqlstr intTryTime Convert ToInt32 ds Tables 0 Rows 0 try time 提交時(shí)間 strSubmitTime nowTime AddMinutes intTryTime ToLongTimeString else Response Redirect stuLogin aspx 生成判斷題 public string GetJudge 取出試卷中的判斷題數(shù)據(jù)集 string sqlstr select from Session trybooks ToString where try type 1 DataSet ds datause GetData sqlstr 題干 System Text StringBuilder sbJudge new System Text StringBuilder sbJudge Append 一 判斷題 sbJudge Append 注 每題 題目的分值 sbJudge Append ds Tables 0 Rows 0 try score ToString sbJudge Append 分 對的打勾 錯(cuò)的不要打勾 題目 for int i 1 i ds Tables 0 Rows Count i sbJudge Append 對 sbJudge Append 錯(cuò) sbJudge Append i ToString sbJudge Append sbJudge Append ds Tables 0 Rows i 1 try subject ToString return sbJudge ToString 生成單選 第 10 章 在線考試系統(tǒng)開發(fā)實(shí)例 329 329 public string GetChoice 取出試卷中的判斷題數(shù)據(jù)集 string sqlstr select from Session trybooks ToString where try type 2 DataSet ds datause GetData sqlstr 題干 System Text StringBuilder sbChoice new System Text StringBuilder sbChoice Append 二 單項(xiàng)選擇 sbChoice Append 注 每題 題目的分值 sbChoice Append ds Tables 0 Rows 0 try score ToString sbChoice Append 分 對的打勾 錯(cuò)的不要打勾 題目 for int i 1 i ds Tables 0 Rows Count i sbChoice Append sbChoice Append i ToString sbChoice Append sbChoice Append ds Tables 0 Rows i 1 try subject ToString sbChoice Append sbChoice Append A sbChoice Append ds Tables 0 Rows i 1 a ToString sbChoice Append sbChoice Append B sbChoice Append ds Tables 0 Rows i 1 b ToString sbChoice Append sbChoice Append C sbChoice Append ds Tables 0 Rows i 1 c ToString sbChoice Append sbChoice Append D sbChoice Append ds Tables 0 Rows i 1 d ToString return sbChoice ToString 生成不定項(xiàng)選擇 public string GetManyChoice 取出試卷中的判斷題數(shù)據(jù)集 string sqlstr select from Session trybooks ToString where try type 3 DataSet ds datause GetData sqlstr 題干 ASP NET 程序設(shè)計(jì)教程與實(shí)訓(xùn) C 語言版 330 330 System Text StringBuilder sbManyChoice new System Text StringBuilder sbManyChoice Append 三 不定項(xiàng)選擇 sbManyChoice Append 注 每題 題目的分值 sbManyChoice Append ds Tables 0 Rows 0 try score ToString sbManyChoice Append 分 對的打勾 錯(cuò)的不要打勾 題目 for int i 1 i ds Tables 0 Rows Count i sbManyChoice Append sbManyChoice Append i ToString sbManyChoice Append sbManyChoice Append ds Tables 0 Rows i 1 try subject ToString sbManyChoice Append sbManyChoice Append A sbManyChoice Append ds Tables 0 Rows i 1 a ToString sbManyChoice Append sbManyChoice Append B sbManyChoice Append ds Tables 0 Rows i 1 b ToString sbManyChoice Append sbManyChoice Append C sbManyChoice Append ds Tables 0 Rows i 1 c ToString sbManyChoice Append sbManyChoice Append D sbManyChoice Append ds Tables 0 Rows i 1 d ToString return sbManyChoice ToString 8 數(shù)據(jù)訪問 系統(tǒng)所有的數(shù)據(jù)訪問功能模塊都放在文件 Ben try cs 文件中 并同時(shí)編寫了 3 種 數(shù)據(jù)庫的訪問程序 只需通過 web config 中的參數(shù)即可配置成某一種數(shù)據(jù)庫類型 因程序 代碼行比較長 以下只給出了部分代碼 程序名 Ben try cs 用于指定數(shù)據(jù)庫的類型 public class DBHelp System Web UI Page 只要修改 dbType 的值就可以應(yīng)用于不同的數(shù)據(jù)庫 private static string dbType ConfigurationSettings AppSettings DBType ToLower public static string dbType 第 10 章 在線考試系統(tǒng)開發(fā)實(shí)例 331 331 get return dbType set dbType value 各種數(shù)據(jù)庫的連接字符串 access 的連接字符串 public string OleDbConnstr string strPath Server MapPath database trybooks mdb Server 為類只能在動(dòng)態(tài)方法中調(diào)用 string strBase Provider Microsoft Jet OLEDB 4 0 Data Source return strBase strPath sql 的連接字符串 public static string SqlConnstr ConfigurationSettings AppSettings SqlConnectionString oracle 的連接字符串 public static string OracleConnstr ConfigurationSettings AppSettings OracleConnectionString 數(shù)據(jù)庫的常用操作類 public class DataUse public DataUse TODO 在此處添加構(gòu)造函數(shù)邏輯 根據(jù) SQL 語句返回?cái)?shù)據(jù)集 public DataSet GetData string selstr DataSet ds new DataSet switch DBHelp dbType ToLower access 數(shù)據(jù)庫 case access DBHelp dbhelp new DBHelp OleDbConnection conn new OleDbConnection dbhelp OleDbConnstr OleDbDataAdapter da new OleDbDataAdapter selstr conn da Fill ds ASP NET 程序設(shè)計(jì)教程與實(shí)訓(xùn) C 語言版 332 332 break sql 數(shù)據(jù)庫 case sql SqlConnection conn new SqlConnection DBHelp SqlConnstr SqlDataAdapter da new SqlDataAdapter selstr conn da Fill ds break oracle 數(shù)據(jù)庫 case oracle OracleConnection conn new OracleConnection DBHelp OracleConnstr OracleDataAdapter da new OracleDataAdapter selstr conn da Fill ds break return ds 根據(jù) SQL 語句返回?cái)?shù)據(jù)集 應(yīng)用于自定義分頁 public DataSet GetData string selstr int intStarId int intMaxLen string strName DataSet ds new DataSet switch DBHelp dbType ToLower access 數(shù)據(jù)庫 case access DBHelp dbhelp new DBHelp OleDbConnection conn new OleDbConnection dbhelp OleDbConnstr OleDbDataAdapter da new OleDbDataAdapter selstr conn da Fill ds intStarId intMaxLen strName break sql 數(shù)據(jù)庫 case sql SqlConnection conn new SqlConnection DBHelp SqlConnstr SqlDataAdapter da new SqlDataAdapter selstr conn da Fill ds intStarId intMaxLen strName break oracle 數(shù)據(jù)庫 case oracle 第 10 章 在線考試系統(tǒng)開發(fā)實(shí)例 333 333 OracleConnection conn new OracleConnection DBHelp OracleConnstr OracleDataAdapter da new OracleDataAdapter selstr conn da Fill ds intStarId intMaxLen strName break return ds 返回記錄數(shù) public int DataCount string strSelect int intDataCount 0 switch DBHelp dbType ToLower access 的操作 case access DBHelp dbhelp new DBHelp OleDbConnection conn new OleDbConnection dbhelp OleDbConnstr OleDbCommand comm new OleDbCommand strSelect conn try conn Open intDataCount Convert ToInt32 comm ExecuteScalar ToString catch OleDbException ex SystemError ErrorLog ex Message finally conn Close c

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論