




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件工程實(shí)驗(yàn)報(bào)告題目:作業(yè)提交系統(tǒng)學(xué)院:計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院專業(yè):07級(jí)計(jì)算機(jī)科學(xué)與技術(shù)隊(duì)名:桃園2203小組成員:陳欽(E10714016) 方彬(E10714088) 曹春陽(E10714078) 夏志菁(E10714084)指導(dǎo)教師:韓莉完成日期:2009-12-8成績(jī):摘要作業(yè)提交系統(tǒng)2.0是基于b/s結(jié)構(gòu),在IIS平臺(tái)上使用ASP與Microsoft SQL 2000開發(fā)的,主要目的是解決學(xué)校機(jī)房管理上機(jī)作業(yè)的問題。因?yàn)閭鹘y(tǒng)的對(duì)學(xué)生作業(yè)管理是在服務(wù)器上建立一個(gè)FTP服務(wù)器,然后對(duì)學(xué)生用戶設(shè)置一個(gè)專門的帳號(hào),只允許對(duì)作業(yè)進(jìn)行上傳,然后學(xué)生將作業(yè)上傳到服務(wù)器里對(duì)應(yīng)的班級(jí)文件夾下面,傳統(tǒng)方
2、式無法解決的問題有:不能防止學(xué)生亂上傳作業(yè),不能防止學(xué)生找錯(cuò)班級(jí)文件夾,不能對(duì)作業(yè)進(jìn)行限制如大小,類型,上傳時(shí)間等,教師布置作業(yè)要通過黑板寫字,教師打分之后只能記在本子上,不能通過局域網(wǎng)發(fā)布出來讓學(xué)生看,教師下載作業(yè)必須到服務(wù)器上拷貝。而這套系統(tǒng)正是出于這個(gè)目的,為了解決上面的問題而設(shè)計(jì)的。系統(tǒng)對(duì)于復(fù)雜的問題都采用程序的方式解決了。系統(tǒng)分了管理員、教師、學(xué)生用戶,管理員須要的操作只是添加專業(yè),添加班級(jí),添加管理員或教師用戶都是通過網(wǎng)頁的形式展示出來。而教師無須向以前那樣,只需要發(fā)布作業(yè),對(duì)作業(yè)的要求進(jìn)行限制,不必去服務(wù)器上建文件夾來存放你的作業(yè),并且程序自動(dòng)創(chuàng)建目錄。下載作業(yè)也只須要點(diǎn)一下就會(huì)
3、將作業(yè)全部打包下載回來,在局域網(wǎng)內(nèi)的任何一臺(tái)計(jì)算機(jī)都可以進(jìn)行各種操作。學(xué)生則再也不會(huì)將作業(yè)上傳錯(cuò),上傳到別的班級(jí)中,也不允許上傳非法的文件,對(duì)一次未上傳完成的作業(yè)也可以先上傳后下節(jié)課再下載回來接著做。系統(tǒng)用程序的方式解決了那些非常復(fù)雜的操作,比如對(duì)文件夾的創(chuàng)建等,所有的角色只需要簡(jiǎn)單的幾步操作就可以完成,非常簡(jiǎn)單實(shí)用。第一章 緒論1.1 問題定義解決傳統(tǒng)的FTP服務(wù)器不能夠滿足作業(yè)上傳的要求下:1教師發(fā)布作業(yè)必須到服務(wù)器上建立文件夾2教師發(fā)布作業(yè)由在黑板上寫的形式改為在網(wǎng)頁上寫再發(fā)布3教師不能對(duì)作業(yè)進(jìn)行限制如大小,類型,過期時(shí)間4教師下載作業(yè)的必須到服務(wù)器去下載改為在局域網(wǎng)內(nèi)任何一臺(tái)計(jì)算機(jī)都可
4、以下載5教師無法發(fā)布成績(jī)改為通過網(wǎng)頁發(fā)布成績(jī)6學(xué)生一次未完成的作業(yè)可以先上傳再下載,完成之后再上傳。7學(xué)生上傳作業(yè)只須點(diǎn)一個(gè)按鈕,無須選擇要上傳的目錄1.2 小組成員分工在系統(tǒng)的四人開發(fā)小組中,每個(gè)人都有各自的模塊,分工協(xié)作,具體有模塊設(shè)計(jì)、代碼實(shí)現(xiàn)、軟件測(cè)試、編寫文檔,各分擔(dān)一項(xiàng)。第二章 開發(fā)環(huán)境2.1 Visual Studio 2005概述Visual Studio.2008是.NET平臺(tái)下最為強(qiáng)大的開發(fā)工具,無論是軟件服務(wù)商,還是企業(yè)應(yīng)用程序的部署與發(fā)布,Visual Studio.NET都可以提供近乎完美的解決方案。VisuaStudio.2008提供了包括設(shè)計(jì)、編碼、編譯調(diào)試、數(shù)據(jù)
5、庫連接操作等基本功能和基于開放架構(gòu)的服務(wù)器組件開發(fā)平臺(tái)、企業(yè)開發(fā)工具和應(yīng)用程序重新發(fā)布工具以及性能評(píng)測(cè)報(bào)告等高級(jí)功能。2.2 C# 簡(jiǎn)介C#是一種先進(jìn),面向?qū)ο蟮恼Z言,通過C#可以讓開發(fā)人員快速的建立大范圍的基于MS網(wǎng)絡(luò)平臺(tái)的應(yīng)用,并且提供大量的開發(fā)工具和服務(wù)幫助開發(fā)人員開發(fā)基于計(jì)算和通信的各種應(yīng)用。由于C#是一種面向?qū)ο蟮拈_發(fā)語言,所以C#可以大范圍的適用于高層商業(yè)應(yīng)用和底層系統(tǒng)的開發(fā)。即使是通過簡(jiǎn)單的C#構(gòu)造也可以使各種組件方便的轉(zhuǎn)變?yōu)榛赪EB的應(yīng)用,并且能夠通過Internet被各種系統(tǒng)或是其他開發(fā)語言所開發(fā)的應(yīng)用程序調(diào)用。2.3 ASP簡(jiǎn)介ASP是Active Server Page
6、的縮寫,意為“動(dòng)態(tài)服務(wù)器頁面”。ASP是微軟公司開發(fā)的代替CGI腳本程序的一種應(yīng)用,它可以與數(shù)據(jù)庫和其它程序進(jìn)行交互,是一種簡(jiǎn)單、方便的編程工具。ASP的網(wǎng)頁文件的格式是.asp,現(xiàn)在常用于各種動(dòng)態(tài)網(wǎng)站中。 ASP是一種服務(wù)器端腳本編寫環(huán)境,可以用來創(chuàng)建和運(yùn)行動(dòng)態(tài)網(wǎng)頁或Web應(yīng)用程序。ASP網(wǎng)頁可以包含HTML標(biāo)記、普通文本、腳本命令以及COM組件等。利用ASP可以向網(wǎng)頁中添加交互式內(nèi)容(如在線表單),也可以創(chuàng)建使用HTML網(wǎng)頁作為用戶界面的web應(yīng)用程序。2.4 Server SQL Microsoft簡(jiǎn)介Microsoft SQL Server 2008是一個(gè)高性能的客戶端/服務(wù)器結(jié)構(gòu)的關(guān)
7、系數(shù)據(jù)庫管理系統(tǒng)(RDBMS,Relational Database Management System)。SQL Server 2008是為了支持高容量的事務(wù)處理(比如在線訂購錄入、存貨目錄、記帳或制造)以及數(shù)據(jù)倉庫和決策支持系統(tǒng)(比如銷售分析應(yīng)用)而設(shè)計(jì)的。它運(yùn)行在Microsoft Windows NT4或Microsoft Windows 20008 Server上基于intel處理器的網(wǎng)絡(luò)??梢园裇QL Server 2008作為一種個(gè)人桌面數(shù)據(jù)庫系統(tǒng)安裝在運(yùn)行Window NT Workstation 4、Windows 2008 Professional、Windows98和Wi
8、ndows Millennium Edition(Me)的機(jī)器上。第三章 需求分析3.1 可行性分析系統(tǒng)是基于b/s結(jié)構(gòu),在IIS平臺(tái)上使用ASP與Microsoft SQL 2008開發(fā)的,主要使用本地計(jì)算機(jī)進(jìn)行測(cè)試和使用,完全可以運(yùn)行。3.2 產(chǎn)品需求規(guī)格說明<> 目標(biāo)解決學(xué)生上傳作業(yè)問題,教師可以將新作業(yè)傳到該系統(tǒng)上,也可以在次系統(tǒng)上下載學(xué)生上傳的作業(yè),并將成績(jī)上傳供學(xué)生查看。<> 用戶的特點(diǎn)用戶是機(jī)房管理員,對(duì)計(jì)算機(jī)技術(shù)比較了解,學(xué)校教師專業(yè)教師能很快熟悉系統(tǒng)的使用方法,非專業(yè)教師也能很快掌握,學(xué)校學(xué)生能很快學(xué)會(huì)使用系統(tǒng)。<>基本功能1不同用戶登錄進(jìn)
9、入不同的界面2學(xué)生作業(yè)的查看3學(xué)生作業(yè)成績(jī)的查看4學(xué)生作業(yè)上傳5教師布置作業(yè)6教師刪除作業(yè)7教師修改作業(yè)8教師發(fā)布成績(jī)9教師修改成績(jī)10教師下載作業(yè)11管理員添加教師用戶12管理員添加學(xué)生用戶13個(gè)人資料的查看14個(gè)人密碼的修改<> 假定與約束 1如果壓縮文件夾的功能不能解決,那么只有教師到服務(wù)器拷貝文件夾 2如果學(xué)校覺得系統(tǒng)不能滿足學(xué)生作業(yè)上傳的需要,那么將不能放在機(jī)房,供學(xué)生使用 3如果遇到一些技術(shù)問題無法解決,那么將會(huì)加大系統(tǒng)的開發(fā)周期 4如果此系統(tǒng)在離開學(xué)期之前都無法開發(fā)成功,那么也不能提供給機(jī)房使用5不同用戶登錄進(jìn)入不同的界面6管理員添加教師用戶7管理員添加學(xué)生用戶8個(gè)人
10、資料的查看9個(gè)人密碼的修改<> 對(duì)性能的規(guī)定 1要求系統(tǒng)支持Microsoft .NET Framework 1.1 2要求系統(tǒng)支持Microsoft SQL Server數(shù)據(jù)庫<> 限制條件1教師不可以進(jìn)入管理員頁面,還有學(xué)生頁面;2管理員也不可以進(jìn)行學(xué)生和教師頁面;3每個(gè)學(xué)生登錄進(jìn)入之后只能看到自己班級(jí)的作業(yè),不可以看到別的班級(jí)的作業(yè);4每個(gè)教師登錄只對(duì)自己發(fā)布的作業(yè)進(jìn)行管理不可以對(duì)別的教師發(fā)布的作業(yè)進(jìn)行管理;5當(dāng)學(xué)生注冊(cè)時(shí)輸入的學(xué)號(hào)必需與選定的班級(jí)匹配;6不同的用戶使用修改密碼都只能修改自己的密碼,無法修改他人的;7不同的用戶使用個(gè)人數(shù)據(jù)功能時(shí)也是只可以看到自己的
11、信息不可以看到他們的信息;8學(xué)生上傳作業(yè)的類型,大小,時(shí)間等,受到教師發(fā)布作業(yè)的約束。<>數(shù)據(jù)流圖總數(shù)據(jù)圖:細(xì)化后數(shù)據(jù)流圖:<> 數(shù)據(jù)字典名字:教師開課信息別名:描述:教師開的教學(xué)課程和網(wǎng)絡(luò)課程定義:信息=教師信息+開課班級(jí)信息位置:網(wǎng)絡(luò)硬盤名字:學(xué)生選課信息別名:描述:學(xué)生選了某一門課程才能登陸到該課程班級(jí)定義:信息=學(xué)生信息+教師信息+開課班級(jí)信息位置:網(wǎng)絡(luò)硬盤名字:成績(jī)別名:分?jǐn)?shù)描述:學(xué)生作業(yè)批改的結(jié)果供學(xué)生和學(xué)校參考定義:成績(jī)=0數(shù)字100 位置:網(wǎng)絡(luò)硬盤<> E-R圖第四章 系統(tǒng)設(shè)計(jì)4.1 總體設(shè)計(jì)作業(yè)提交系統(tǒng)注冊(cè)登錄密碼找回學(xué)生用戶登錄教師用戶登
12、錄管理員用戶登錄查看成績(jī)打包下載作業(yè)發(fā)布修改作業(yè)添加班級(jí)添加用戶數(shù)據(jù)庫管理上傳作業(yè)下載作業(yè)查看作業(yè)發(fā)布修改成績(jī)刪除作業(yè)添加專業(yè)通用模板修改密碼查看個(gè)人資料注銷系統(tǒng)4.1.1 系統(tǒng)功能體系圖4.1.2 系統(tǒng)設(shè)計(jì)的基本原則 本系統(tǒng)的目標(biāo)是在Internet/Intranet上來實(shí)現(xiàn)網(wǎng)上作業(yè)提交,可以實(shí)現(xiàn)學(xué)生在線提交作業(yè)的無紙化管理,可以有效利用校園網(wǎng)的軟硬件資源,使其發(fā)揮最大效力,更好的為學(xué)校的教學(xué)、科研、管理服務(wù),隨時(shí)隨地的可以讓學(xué)生聯(lián)機(jī)操作提交。系統(tǒng)采用了模塊化的設(shè)計(jì)方法:選擇了面向?qū)ο蟮?、易于擴(kuò)展的ASP編程語言環(huán)境使用Microsoft server 2008做為數(shù)據(jù)庫平臺(tái)。本系統(tǒng)整體上可
13、劃分為若干個(gè)功能模塊。系統(tǒng)安全可靠也是一個(gè)重要的設(shè)計(jì)原則。本系統(tǒng)的配置是采用WindowsXP作為網(wǎng)絡(luò)操作系統(tǒng), Microsoft server 2008作為數(shù)據(jù)庫服務(wù)器。所以操作系統(tǒng)WindowsXP的安全防護(hù)機(jī)制及數(shù)據(jù)庫Microsoft server 2008的安全機(jī)制是本系統(tǒng)采用的安全防護(hù)方式。4.1.3 功能模塊設(shè)計(jì) 在線作業(yè)提交批改系統(tǒng)從功能上可分為教師管理程序、學(xué)生管理程序和管理員管理程序,教師管理程序部分主要實(shí)現(xiàn)學(xué)生信息的添加、所交班級(jí)信息的添加 、課程信息的添加、上傳下載作業(yè)和評(píng)定成績(jī)的管理,學(xué)生管理程序部分主要實(shí)現(xiàn)了學(xué)生對(duì)作業(yè)的下載和上傳。管理員具有系統(tǒng)的完全權(quán)限,管理員
14、具有添加和刪除教師的權(quán)限。系統(tǒng)主要功能模塊具體描述如下:<>學(xué)生模塊 主要包括學(xué)生管理,主要功能:查看教師布置的作業(yè),并下載作業(yè),完成作業(yè)后提交到服務(wù)器,以及修改學(xué)生自己的基本情況等。<>教師模塊 主要包括搜索作業(yè)模塊,布置作業(yè)模塊,管理作業(yè)模塊,查看成績(jī)模塊,統(tǒng)計(jì)作業(yè)遞交情況模塊,修改資料模塊。搜索作業(yè)模塊,主要功能:搜索教師自己所布置的作業(yè)學(xué)生遞交情況。<>布置作業(yè)模塊 主要功能:教師編輯所布置的作業(yè),向?qū)W生發(fā)布作業(yè),以及指明是否允許學(xué)生上傳作業(yè)。<>管理作業(yè)模塊 主要功能:下載作業(yè),評(píng)閱作業(yè),給學(xué)生打分,以及刪除本次作業(yè)。<>修
15、改資料模塊 主要功能:修改教師自己的基本信息情況。<>管理員模塊 主要包括教師管理,學(xué)生管理,系統(tǒng)配置管理,主要功能:增加,修改,刪除教師用戶,配置系統(tǒng)參數(shù),配置上傳文件類型。4.2 數(shù)據(jù)庫設(shè)計(jì)4.2.1 數(shù)據(jù)庫圖4.2.2 數(shù)據(jù)庫的約束與關(guān)系管理員表與其它表無關(guān)系只是為了存放管理員的帳號(hào)與密碼等數(shù)據(jù)教師表里的ID字段為主鍵用于存放老師的ID學(xué)生表與教師表之間存在著外鍵約束,如果學(xué)生表里教師代號(hào)字段的值與教師表里面的學(xué)號(hào)代號(hào)值關(guān)鍵。作業(yè)表也是最重要的一個(gè)表它同時(shí)與二個(gè)表存在著外鍵約束,teaname字段與教師的代號(hào)之間相關(guān)聯(lián)。4.3 特殊功能的原理管理員添加教師管理員的原理管理員可
16、以添加教師用戶,教師用戶必須由管理員添加,每次當(dāng)管理員添加教師用戶時(shí)就會(huì)在網(wǎng)站目錄下的一個(gè)專門用于存放上傳作業(yè)的目錄(up)的根目錄下以教師的姓名為目錄名新建一個(gè)根目錄。用于教師布置作業(yè)之后,學(xué)生上傳作業(yè)的存放目錄。教師發(fā)布修改作業(yè)的原理老師發(fā)布作業(yè)之后可以修改作業(yè),而且二個(gè)功能都是使用的一個(gè)界面來完成,通過傳遞的一個(gè)參數(shù)來判斷用戶的操作是發(fā)布作業(yè)還是修改作業(yè),如果是修改作業(yè)而取得一個(gè)ID值將數(shù)據(jù)庫里的內(nèi)容綁定到用戶界面。 教師發(fā)布修改成績(jī)的原理 教師發(fā)布成績(jī)或修改成績(jī)的原理和教師發(fā)布修改作業(yè)的原理大至一樣,都是使用一個(gè)頁面來完成的,通過一個(gè)參數(shù)來判斷用戶的操作是發(fā)布還是修改。4.3.4 教師
17、批量下載作業(yè)的原理 教師批量下載作業(yè)是將學(xué)生上傳后的作業(yè)全部打包成一個(gè)zip的壓縮文件,然后從服務(wù)器上下載。 學(xué)生上傳下載作業(yè)的原理 學(xué)生上傳作業(yè)的時(shí)候,首先應(yīng)該選擇上傳哪個(gè)教師哪一次的作業(yè)。第五章 主要功能模塊界面及編碼實(shí)現(xiàn)5.1 系統(tǒng)運(yùn)行資源管理圖5.2 登錄界面及編碼屏幕切換編碼:<SCRIPT language=JavaScript type=text/javascript> if (self != top) top.location = self.location; function switchSysBar() if (switchPoint.innerHTML = &
18、#39;<') switchPoint.innerHTML = '>' document.getElementById("frmTitle").style.display = "none" else switchPoint.innerHTML = '<' document.getElementById("frmTitle").style.display = "block" function changeMainFrameSrc(url
19、) /alert(url); document.getElementById("mainFrame").src = url; </SCRIPT><TABLE border=0 cellSpacing=0 cellPadding=0 width="100%" height="100%"> <TBODY> <TR> <TD id=frmTitle height="100%" vAlign=center noWrap align=middle><IFRAM
20、E id=nagFrame class=iframe1 src="nag.htm" frameBorder=0 name=nagFrame></IFRAME></TD> <TD class=td2> <TABLE border=0 cellSpacing=0 cellPadding=0 height="100%"> <TBODY> <TR> <TD onclick=switchSysBar()><FONT class=switchbarfont><
21、BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><SPAN id=switchPoint class=navPoint title=關(guān)閉/打開左欄><</SPAN> <BR><BR><BR><BR><BR><BR><BR><BR>屏幕切換 </FONT></TD></TR></T
22、BODY></TABLE></TD> <TD style="WIDTH: 100%"><IFRAME id=mainFrame class=iframe2 src="login.aspx"" frameBorder=0 name=mainFrame scrolling=yes></IFRAME></TD></TR></TBODY></TABLE><SCRIPT language=JavaScript type=text/jav
23、ascript> if (window.screen.width < '1024') switchSysBar() </SCRIPT>5.4 管理員添加用戶界面及編碼protected void b_register_Click(object sender, EventArgs e) string user = "" string scmd="" if (r_admin.Checked = true) user = "admin" scmd = string.Format("inser
24、t into admin(username,adminid,password,name) values ('0','1','2','3');",t_username.Text.ToString(),t_id.Text.ToString(),t_id.Text.ToString(),t_name.Text.ToString(); else if (r_student.Checked = true) user = "student" scmd = string.Format("insert in
25、to student(username,stuid,password,stuname,sex,grade,class) values ('0','1','2','3','4','5','6');",t_username.Text.ToString(), t_id.Text.ToString(), t_id.Text.ToString(), t_name.Text.ToString(),t_sex.Text.ToString(), t_grade.Text.ToString(
26、), t_class.Text.ToString(); else user = "teacher" scmd = string.Format("insert into teacher(username,teaid,password,teaname,sex,fuction) values ('0','1','2','3','4','5');",t_username.Text.ToString(), t_id.Text.ToString(), t_id.Text.
27、ToString(),t_name.Text.ToString(),t_sex.Text.ToString(), t_fuction.Text.ToString(); if (t_id.Text.ToString() = "") Page.ClientScript.RegisterStartupScript(Page.GetType(), "", string.Format("<script>alert('請(qǐng)輸入用戶名!');</script>"); else if (t_name.Text.T
28、oString() = "") Page.ClientScript.RegisterStartupScript(Page.GetType(), "", string.Format("<script>alert('請(qǐng)輸入姓名!');</script>"); else string sconn = "server=(local)SQLEXPRESS;database=homework;Trusted_Connection=True" SqlConnection conn = ne
29、w SqlConnection(sconn); conn.Open(); SqlCommand cmd = new SqlCommand(scmd, conn); cmd.ExecuteNonQuery(); conn.Close(); Page.ClientScript.RegisterStartupScript(Page.GetType(), "", string.Format("<script>alert('添加成功!');</script>"); Response.Redirect("admin.
30、aspx"); 5.5 教師發(fā)布修改作業(yè)界面及編碼protected void Page_Load(object sender, EventArgs e) if (Session"username" = null) Response.Redirect("menus.htm"); else teachername = Session"username".ToString(); SetBind(); private void SetBind() DataSet ds = new DataSet(); string sconn =
31、 "server=(local)SQLEXPRESS;database=homework;Trusted_Connection=True" SqlConnection conn = new SqlConnection(sconn); SqlDataAdapter da = new SqlDataAdapter(string.Format("select ID,title,num,conten from work where teaname='0'", teachername), conn); da.Fill(ds); GridView1.
32、DataSource = ds; GridView1.DataBind(); conn.Close(); protected void b_addhomework_Click(object sender, EventArgs e) string path = string.Format("/work/0",t_addhomework.Text.ToString();/目錄在E盤 if (!Directory.Exists(path) string sconn = "server=(local)SQLEXPRESS;database=homework;Trusted
33、_Connection=True" SqlConnection conn = new SqlConnection(sconn); conn.Open(); string scmd=string.Format("insert work(title,teaname,num,conten) values('0','1','0','2')",t_addhomework.Text.ToString(),teachername,TextBox1.Text.ToString(); SqlCommand cmd =
34、new SqlCommand(scmd,conn); cmd.ExecuteNonQuery(); conn.Close(); Directory.CreateDirectory(path); Page.ClientScript.RegisterStartupScript(Page.GetType(), "", string.Format("<script>alert('添加成功!');</script>"); else Page.ClientScript.RegisterStartupScript(Page.Ge
35、tType(), "", string.Format("<script>alert('已經(jīng)有該作業(yè)文檔,請(qǐng)重新命名!');</script>"); protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) if (e.CommandName = "Select") int iIndex = Convert.ToInt16(e.CommandArgument); string title = Gri
36、dView1.DataKeysiIndex.Value.ToString(); Response.Redirect(string.Format("showwork.aspx?title=0", title); protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) int iIndex = Convert.ToInt16(e.RowIndex); string ID = GridView1.DataKeysiIndex.Value.ToString(); string sc
37、onn = "server=(local)SQLEXPRESS;database=homework;Trusted_Connection=True" SqlConnection conn = new SqlConnection(sconn); string scmd = string.Format("delete from work where title='0'",ID); conn.Open(); SqlCommand cmd = new SqlCommand(scmd, conn); cmd.ExecuteNonQuery(); c
38、onn.Close(); SetBind(); Page.ClientScript.RegisterStartupScript(Page.GetType(), "", string.Format("<script>alert('刪除成功!');</script>");5.6 教師批量下載作業(yè)界面及編碼 protected void Button2_Click(object sender, EventArgs e)
39、0; hello(); string strtxtPath = strFileUploadPath; string strzipPath = strFileUploadPath+"free.zip"
40、160; System.Diagnostics.Process Process1 = new System.Diagnostics.Process(); Process1.StartInfo.FileName = "Winrar.exe" Process1.StartInf
41、o.CreateNoWindow = true; /壓縮c:freezipfree.txt(即文件夾及其下文件freezipfree.txt) /到c:freezipfree.rar / strzipPath = "C: freezipfree"/設(shè)
42、置壓縮方式為 .zip Process1.StartInfo.Arguments = " a -afzip " + strzipPath + " " + strtxtPath; / 3
43、 Process1.Start(); if (Process1.HasExited) int iExitCode = Process1.ExitCode;
44、160; if (iExitCode = 0) Response.Write(iExitCode.ToString()
45、+ " 正常完成"); else &
46、#160; Response.Write(iExitCode.ToString() + " 有錯(cuò)完成"); &
47、#160; 5.7 學(xué)生上傳作業(yè)界面及編碼private void hello() strFileUploadPath = string.Format("D: work0", title); string ID = Request.QueryS
48、tring"ID".ToString(); SqlConnection conn = new SqlConnection("server=(local)SQLEXPRESS;database=homework;Trusted_Connection=True"); conn.Open();
49、0; SqlCommand cmd = new SqlCommand(string.Format("select * from work where ID=0", ID), conn); SqlDataReader read = cmd.ExecuteReader();
50、60; read.Read(); teacher = read"teaname".ToString(); title = read"title".ToString(); conn.
51、Close(); private void InitFileList() hello(); strFileUploadPath = string.Format("D: work0", title);
52、160; /組合成物理路徑 file:/D:homeworkpic /string strFilePath = Server.MapPath(strFileUploadPath); /讀取文件夾下所有文件 FileInfo arrFi
53、les = new DirectoryInfo(strFileUploadPath).GetFiles(); /把文件名逐一添加到列表框控件控件 foreach (FileInfo fi in arrFiles)
54、; lb_FileList.Items.Add(fi.Name); private void InitUploadLimit() /從config中讀取上傳文件類型限制并根據(jù)逗號(hào)分割成字符串?dāng)?shù)組 string arrF
55、ileTypeLimit = ConfigurationManager.AppSettings"FileTypeLimit".ToString().Split(','); /從config中讀取上傳文件大小限制 double iFileSizeLimit = Convert.ToInt32(ConfigurationMana
56、ger.AppSettings"FileSizeLimit"); /遍歷字符串?dāng)?shù)組把所有項(xiàng)加入項(xiàng)目編號(hào)控件 for (int i = 0; i < arrFileTypeLimit.Length; i+)
57、60; bl_FileTypeLimit.Items.Add(arrFileTypeLimiti.ToString(); /把文件大小限制賦值給標(biāo)簽 lab_FileSizeLimit.Text = string.Format("0:f2 M", iFileSizeLimit / 1024);
58、160; hello(); strFileUploadPath = string.Format("D: work0", title); int itemNo = (Int16)(lb_FileList.Items.Count - 1);
59、0; do ListItem item; item = lb_FileList.ItemsitemNo;
60、160; if (lb_FileList.ItemsitemNo.Selected) string strFileN
61、ame = lb_FileList.SelectedValue; /組合成物理路徑 string strFilePhysicalPath = strFileUploadP
62、ath + strFileName; Response.Clear(); Response.ContentType = "application/octet-stream
63、" Response.AddHeader("Content-Disposition", "attachment;FileName=" + HttpUtility.UrlEncode(strFileName, System.Text.Encoding.UTF8);
64、; Response.WriteFile(strFilePhysicalPath); Response.End(); 5.8 數(shù)據(jù)庫類編碼hello(); /判斷用
65、戶是否選擇了文件 if (FileUpload.HasFile) /調(diào)用自定義方法判斷文件類型是否符合要求 if
66、160;(IsAllowableFileType() /調(diào)用自定義方法判斷文件大小是否符合要求
67、160; if (IsAllowableFileSize()
68、160; if (FileUpload.HasFile)
69、0; strFileUploadPath = string.Format("D: work0", title);
70、; string filename = FileUpload.FileName;
71、 string filenewname = Session"ID".ToString(); string fileext = Path.Ge
72、tExtension(filename); string strFileName = Server.MapPath(filenewname + fileext);
73、60; FileUpload.SaveAs(strFileUploadPath + filenewname + fileext);
74、 SqlConnection conn = new SqlConnection("server=(local)SQLEXPRESS;database=homework;Trusted_Connection=True");
75、; conn.Open(); SqlCommand cmd1 = new SqlCommand(string.Format("select * from student
76、0;where username='0'", Session"username".ToString(), conn); SqlDataReader read1 = cmd1.ExecuteRead
77、er(); read1.Read();
78、 string stuid = read1"stuid".ToString(); string stuname = read1"stuname".ToString();
79、 read1.Close();
80、0; SqlCommand cmd2 = new SqlCommand(string.Format("select * from teacher where teaname='0'", teacher), conn);
81、; SqlDataReader read2 = cmd2.ExecuteReader(); read2.Read();
82、 string teaid = read2"teaid".ToString();
83、160; string teaname = read2"teaname".ToString(); read2.Close();
84、0; SqlCommand cmd3 = new SqlCommand(string.Format("insert into homework(title,stuname,teaname,stuid,teaid,mark) values ('0','1','
85、;2','3','4','0')", title, stuname, teaname, stuid, teaid), conn); cmd3.ExecuteNonQuery()
86、; conn.Close();
87、0; lb_FileList.Items.Add(filenewname + fileext); /更新文件夾信息 &
88、#160; InitFolderInfo(); /調(diào)用自定義方法顯示提示 ShowMessageBox("文件成功上傳");
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 林木育種的生理適應(yīng)與遺傳變異考核試卷
- 古代帝王的玉石收藏考核試卷
- 港口物流業(yè)行業(yè)相關(guān)投資計(jì)劃提議
- 批發(fā)銷售策略應(yīng)用考核試卷
- 時(shí)尚芭莎相關(guān)行業(yè)投資方案
- 2024年柳州市遴選和選調(diào)公務(wù)員筆試真題
- 染整企業(yè)市場(chǎng)營銷策略創(chuàng)新考核試卷
- 培育領(lǐng)導(dǎo)力專業(yè)技術(shù)培訓(xùn)的有效策略考核試卷
- 故事講述如何用故事來傳達(dá)信息和影響力考核試卷
- 2025年多孔中空三維卷曲滌綸短絲合作協(xié)議書
- 校園超市經(jīng)營投標(biāo)方案(技術(shù)方案)
- 家具拆裝合同
- 小學(xué)語文中高年級(jí)單元整體教學(xué)設(shè)計(jì)的實(shí)踐研究(中期報(bào)告)
- JTT791-2010 公路涵洞通道用波紋鋼管(板)
- 山東省春季高考技能考試-汽車專業(yè)必刷必練題庫(600題)
- 2024年黑龍江農(nóng)墾科技職業(yè)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- THHPA 001-2024 盆底康復(fù)管理質(zhì)量評(píng)價(jià)指標(biāo)體系
- 人民音樂家 教案-2023-2024學(xué)年高中人音版(2019)必修《音樂鑒賞》
- 《合理調(diào)節(jié)情緒-做自己情緒的主人》班會(huì)課件
- 20222023學(xué)年山西省朔州市朔城區(qū)七年級(jí)(下)期末語文試卷(解析)
- 國家義務(wù)教育質(zhì)量監(jiān)測(cè)心理健康和德育測(cè)試題
評(píng)論
0/150
提交評(píng)論