亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于.net的輕量化考試系統(tǒng)

        2020-12-14 04:37:08孫偉
        電腦知識(shí)與技術(shù) 2020年28期

        孫偉

        摘要:.net技術(shù)為用戶快速構(gòu)建程序提供了很大便捷,該文使用.net框架開發(fā)了一款輕量化考試系統(tǒng),針對(duì)小型考試提供應(yīng)用,即考即用。減少傳統(tǒng)考試的紙張和人力資源浪費(fèi),也符合如今綠色環(huán)保發(fā)展的新理念

        關(guān)鍵詞:.net;GridView控件;DataList控件

        中圖分類號(hào):TP311 ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A

        文章編號(hào):1009-3044(2020)28-0088-05

        本文面向于各種專業(yè)小型考試,結(jié)合微軟的.net技術(shù)和SQL Server數(shù)據(jù)庫(kù)技術(shù),開發(fā)了一套小范圍小體積、搭建簡(jiǎn)單、即用即考、即時(shí)評(píng)分匯總的輕量化在線考試系統(tǒng)。

        本系統(tǒng)操作簡(jiǎn)單,可按需要的出題規(guī)則組卷,能進(jìn)行多種學(xué)科、題型的考試。本系統(tǒng)操作上分為管理員操作與考生操作。管理員端負(fù)責(zé)導(dǎo)入管理考生數(shù)據(jù)、試題數(shù)據(jù),生成試卷,開始考試,考試過程管理,成績(jī)管理等操作。盡量簡(jiǎn)化操作,以最小功能實(shí)現(xiàn)一場(chǎng)考試。

        1 本系統(tǒng)文件結(jié)構(gòu)組成

        數(shù)據(jù)庫(kù)文件1個(gè):存儲(chǔ)登錄信息、題庫(kù)試卷信息、考試過程信息等,共6張數(shù)據(jù)表。

        公共類文件1個(gè):包含數(shù)據(jù)庫(kù)連接、執(zhí)行數(shù)據(jù)庫(kù)Sql命令、綁定控件方法等。

        樣式表文件6個(gè):管理整個(gè)系統(tǒng)外觀,網(wǎng)頁(yè)樣式。

        根目錄文件2個(gè):Web.config文件用于系統(tǒng)環(huán)境變量設(shè)置,如數(shù)據(jù)庫(kù)連接字符串、數(shù)據(jù)庫(kù)連接池大小;登錄文件Default.aspx即為首頁(yè)文件,用于考生登錄驗(yàn)證。

        前臺(tái)文件3個(gè):分別為考試需知頁(yè);考試頁(yè),隨機(jī)抽題供考生答題;成績(jī)顯示頁(yè),考生交卷后顯示該考生成績(jī)。

        后臺(tái)文件11個(gè):管理登錄頁(yè);考生導(dǎo)入頁(yè);考生管理頁(yè);過程管理頁(yè);成績(jī)查詢頁(yè);試題導(dǎo)入頁(yè);試題管理頁(yè);試卷管理頁(yè);此外還有管理員改密碼、操作說(shuō)明、班級(jí)成績(jī)下載三個(gè)輔助頁(yè)。

        本系統(tǒng)使用流程:管理員登錄后臺(tái)頁(yè)→導(dǎo)入考生數(shù)據(jù)→導(dǎo)入題庫(kù)→生成套題→考生于首頁(yè)登錄→考生在線考試→考試過程管理(考生死機(jī)重新登錄等操作)→考生交卷→成績(jī)?nèi)霂?kù)(所有考生交卷后)→結(jié)束考試(考生將不能再登錄)→生成成績(jī)文件(可供下載或打?。戤叀?/p>

        2 本系統(tǒng)代碼實(shí)現(xiàn)

        1)考生信息與試題信息導(dǎo)入頁(yè)中,主要使用了Fileupload控件進(jìn)行上傳文件操作,只支持Excel文件,使用數(shù)據(jù)庫(kù)控件DataTable讀取文件,Excel文件按規(guī)定格式來(lái)填寫,將出題權(quán)交給相關(guān)專業(yè)的老師,提高試題專業(yè)性。代碼節(jié)選如下:

        Public DataTable GetExcelDatatable(string file_Url)

        {string Pro_String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='excel 12.0.0; Hdr=NO; Imex=1'"; ?//忽略欄位、只讀模式

        // 請(qǐng)先安裝Microsoft.ACE.OLEDB.12.0驅(qū)動(dòng) ? DataTable dt = null;

        OleDbConnection conn = new OleDbConnection(string.Format(Pro_String, file_Url)); ?conn.Open();

        DataTable sTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); ? ? ?string strSql = "select * from [Sheet1$]";

        OleDbDataAdapter da = new OleDbDataAdapter(strSql, conn);

        DataSet ds = new DataSet();

        da.Fill(ds);

        dt = ds.Tables[0];

        return dt; }

        本段代碼聲名一個(gè)方法,功能為讀取上傳好的Excel文件內(nèi)容,并生成一個(gè)DataTable提供給其它相關(guān)管理頁(yè)綁定。如果未能讀取成績(jī),需先安裝驅(qū)動(dòng)或重新設(shè)置規(guī)定樣式。

        上傳事件代碼中,將對(duì)文件類型,內(nèi)容模式作出篩選判斷,如果類型不對(duì),內(nèi)容為空或模式不符合將給出相應(yīng)提示,代碼略。

        2)在后臺(tái)各個(gè)管理頁(yè)都使用了GridView控件。使用它的內(nèi)置事件對(duì)數(shù)據(jù)進(jìn)行管理操作。在頁(yè)中,還使用了DropDownList控件、TextBox控件、Button控件進(jìn)行數(shù)據(jù)查詢操作,可以讓管理員很方便地查找到要操作的數(shù)據(jù)。代碼節(jié)選如下:

        protected void DropDlt1_SelectedIndexChanged(入口參數(shù)代碼,略) //根據(jù)下拉列表框選擇內(nèi)容,可按班級(jí)來(lái)顯示考生信息事件

        { ?Bj1=true ; //標(biāo)記變量,記錄是否操作過下拉列表框和查詢操作

        Bj2 = false;

        ddlstr ?= string.Format("select id,Name,idCard,clName from Tb_XueShen where clName='{0}' order by id desc ", //用于記錄查詢命令,以便分頁(yè)操作可以在查詢到的結(jié)果中操作,其中id及以后的單詞為字段名,Tb開頭為數(shù)據(jù)表名字

        DropDlt1.SelectedValue.ToString());

        cl.tabbind(GridView1,ddlstr, "id"); ?//根據(jù)下拉列表的選擇項(xiàng),重新綁定GridView,顯示所需信息 ?}

        protected void Btn_Clk1(入口參數(shù)代碼,略) ?//通配符查詢事件

        { ? Bj2 = true;Bj1 = false;

        switch (DropDlt2 .SelectedIndex ) ?//可以按班級(jí)、學(xué)號(hào)、名字分別查詢

        { ? case 0: { textstr = string.Format("select id,Name,idCard,clName from Tb_XueShen where id like '%{0}%' order by id desc ", Tt_Box1.Text .ToString());break ?;} //使用通配符查詢,更精確

        case 1: { textstr = string.Format("select id,Name,idCard,clName from Tb_XueShen where Name like '%{0}%' order by id desc ", Tt_Box1.Text.ToString()); break; ;}

        case 2: { textstr = string.Format("select id,Name,idCard,clName from Tb_XueShen where clName like '%{0}%' order by id desc ", Tt_Box1.Text.ToString()); break; ;}

        case 3: { textstr = string.Format("select id,Name,idCard,clName from Tb_XueShen where idCard like '%{0}%' order by id desc ", Tt_Box1.Text.ToString()); break; ;} }

        Tt_Box1.Text = null;

        cl.tabbind(GridView1, textstr , "id"); //查詢成功,重新綁定顯示數(shù)據(jù) ? }

        GridView控件是一個(gè)很強(qiáng)大的數(shù)據(jù)源綁定控件,不但樣式豐富,更內(nèi)置了分頁(yè),更新,刪除等事件,對(duì)數(shù)據(jù)庫(kù)操作非常方便簡(jiǎn)單。在本系統(tǒng)中,大量使用了該控件來(lái)進(jìn)行數(shù)據(jù)庫(kù)信息管理。

        3)成績(jī)管理頁(yè)中,當(dāng)成績(jī)?nèi)霂?kù)后,會(huì)以班級(jí)為單位生成一個(gè)文本文件供用戶下載,文件內(nèi)容為該班參加考試學(xué)生,該科目成績(jī)匯總。而文本文件作為最基礎(chǔ)的windows文件,基本任何電腦都可以打開,方便了后期成績(jī)的查看與打印,保存。該文件下載方式采用了分頁(yè)技術(shù),A頁(yè)用戶單擊下載后將要下載的文件名傳到B頁(yè),B頁(yè)接收到后才進(jìn)行下載操作,避免了鏈接暴露的危險(xiǎn)。代碼節(jié)選如下:

        protected void Btn_Clk2(入口參數(shù)代碼,略)//成績(jī)生成文本文件事件

        { ? Random rd = new Random();//將信息寫入數(shù)據(jù)庫(kù)及文本文件中

        DateTime sj=DateTime.Now;

        string file_Name = sj.Year.ToString() + sj.Month.ToString() + sj.Day.ToString() + sj.Hour.ToString() + sj.Minute.ToString() + sj.Second.ToString() + rd.Next(10, 99).ToString();//生成唯一文件名

        FileInfo mf = new FileInfo(Server.MapPath("ks_file\\") + file_Name + ".txt");

        StreamWriter sw = mf.CreateText();//以數(shù)據(jù)流方式寫入

        sw.WriteLine("成績(jī)信息");

        sw.WriteLine();

        string sqlds = string.Format("select * from Tb_kscj where clName='{0}' and ttName='{1}'", DropDlt3.SelectedValue.ToString(), DropDlt4.SelectedValue.ToString());

        DataSet ds = cl.ds(sqlds);

        if (ds == null)

        else

        { ? foreach(DataRow dh in ds.Tables[0].Rows)

        { ? string itmText = dh["id"].ToString();

        itmText += dh["Name"].ToString();

        itmText += dh["idCard"].ToString();

        itmText += dh["ydScore"].ToString();

        itmText += dh["ttName"].ToString();

        人妻少妇中文字幕久久69堂| 亚洲国产精品va在线看黑人| 一本大道久久东京热无码av| 五月天婷婷综合网| 亚洲伊人久久综合精品| 中文字幕一区二区黄色| 国产精品极品美女自在线观看免费 | 国产精品一区二区黄色| 国产精品v片在线观看不卡| 欧美日韩亚洲精品瑜伽裤| 日韩AV无码乱伦丝袜一区| 日韩av免费一区二区| 国产婷婷色一区二区三区在线| 护士奶头又白又大又好摸视频| 青青草视频在线视频播放| 精品视频一区二区三区日本| 国产精品www夜色视频| 中文字幕福利视频| 色综合久久五月天久久久| 视频在线观看国产自拍 | 国产午夜激无码av毛片不卡| 狠狠噜天天噜日日噜视频麻豆| 国产内射XXXXX在线| 美女射精视频在线观看| 国产裸体美女永久免费无遮挡| 欧美不卡视频一区发布| 国产丰满乱子伦无码专| 日韩女优图播一区二区| 91亚洲夫妻视频网站| 97人妻人人揉人人躁九色| 3d动漫精品一区二区三区| 国产乱人视频在线观看播放器 | 亚洲精品中文字幕免费专区| 国产精品无码av一区二区三区| 国产精品自产拍在线观看中文| 免费人成在线观看播放视频| 亚洲国产一区二区三区| 久久午夜夜伦鲁鲁片免费无码 | 国产精品亚洲专区无码不卡| 国产免费观看久久黄av麻豆| 小荡货奶真大水真多紧视频|