計(jì)算機(jī)軟件工程課程設(shè)計(jì)_第1頁
計(jì)算機(jī)軟件工程課程設(shè)計(jì)_第2頁
計(jì)算機(jī)軟件工程課程設(shè)計(jì)_第3頁
計(jì)算機(jī)軟件工程課程設(shè)計(jì)_第4頁
計(jì)算機(jī)軟件工程課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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;&lt;') switchPoint.innerHTML = '&gt;' document.getElementById("frmTitle").style.display = "none" else switchPoint.innerHTML = '&lt;' 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)閉/打開左欄>&lt;</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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論