




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第1章引言1.1背景本課題題目為:高校學工平臺系統(tǒng),目的是為輔導員提供一個保存文件,個人照片的一個網站。眾所周知傳統(tǒng)的手工管理資料需要用不同的文件袋子來存放不同的文件,沒有具體的數(shù)據(jù)庫可提供查詢,對于這些重要文件有哪些、放在什么地方、什么時候用過的還都不知道。當用戶即輔導員要看文件的時候卻因為有一大堆的文件放在一起,無法很快的找到自己想要的文件,這樣要浪費很多的時間。并且手工來管理這些重要文件也要耗費不少的人力,物力資源,也不符合經濟效益原則。而隨著信息化的發(fā)展及計算機技術的廣泛運用,高等學校各部門的重要文件管理也可以考慮利用計算機管理系統(tǒng)來代替?zhèn)鹘y(tǒng)的手工管理。設計高校學工平臺系統(tǒng)可以建立各種信息數(shù)據(jù)庫,以實現(xiàn)高校對輔導員用戶基本信息的管理,文件管理。輔導員也可以通過本系統(tǒng)方便的查找自己存著的重要文件,到用時就很方便了。同時此系統(tǒng)還為高校輔導員提供一個存放自己重要照片的一個平臺,因為現(xiàn)在由于數(shù)碼相機的普及,輔導員自己電腦上的照片肯定會越來越多,有了此系統(tǒng)就解決了這個問題,同時還能跟其他的輔導員分享自己的作品,交流攝影經驗等等。通過畢業(yè)設計可以讓自己進一步的掌握系統(tǒng)開發(fā)的理論和方法,并運用于實際的操作之中。設計高校學工平臺系統(tǒng)還可以鍛煉自己對開發(fā)一個小型網站的能力,讓自己形成一種獨立思考的習慣和周全的想象各種事情的能力,給自己將來的工作帶來一些經驗。同時,設計這個高校學工平臺系統(tǒng)由傳統(tǒng)的手工來管理重要文件轉變?yōu)橛嬎銠C管理,方便輔導員查找和使用需要的各種重要文件,可以很大程度上提高輔導員的工作效率。因此,設計這個高校學工平臺系統(tǒng)還是很有必要的。1.2研究內容及擬解決問題研究的基本內容主要是基于的高校學工平臺系統(tǒng),以便能更好的為高校學工提供方便。在這個系統(tǒng)中主要需要研究數(shù)據(jù)庫的設計、管理員后臺的設計,用戶設計以及他們之間的聯(lián)系。因為在這個系統(tǒng)中,用戶需要存的東西比較多,所以要進行分類管理,因此在創(chuàng)建數(shù)據(jù)庫的時候要多建好幾張表,在創(chuàng)建的時候如何搞好表與表之間的的關系式一個比較艱巨的任務,因為只有做到這樣,把他們的關系都搞清楚了才能在以后做的過程中簡單化。管理員后臺的設計主要要做到后臺的安全性和可靠性以及操作的簡單易懂性,這樣才能把錯誤減小。用戶的設計主要是實現(xiàn)用戶的注冊,實現(xiàn)用戶可以上傳自己的照片和他們的重要文件,還要實現(xiàn)用戶在上傳東西的時候自主進行分類。用戶可以對其他用戶上傳的照片進行評論,交流,搜索。用戶之間可以添加好友等等。擬解決的主要問題主要分為五大方面:1.數(shù)據(jù)庫方面:對系統(tǒng)進行需求分析,初步設計用戶信息表、照片表(分為個性展示表和風景表)、評論表、文件表(文件有可能比較多,要分成幾個不同的表,像論文集表、參考資料表等等)。2.管理員管理方面:實現(xiàn)對注冊用戶資料的管理,用戶上傳照片的管理,看上傳的照片是否符合國家規(guī)定,用戶評論是否符合國家規(guī)定等等,即對評論,照片進行審核。3.用戶信息管理方面:實現(xiàn)用戶的注冊,其中包括登錄名,登錄密碼,郵箱等基本信息的修改和更新。注冊成功后,根據(jù)用戶權限可以上傳照片、上傳自己的重要文件。對其他用戶的照片進行評論。4.搜索方面:實現(xiàn)用戶可以根據(jù)關鍵字,標題搜索等等。5.BBS方面:實現(xiàn)注冊用戶可以與其他用戶進行交流,同時實現(xiàn)用戶在個人中心中可以對自己的信息進行修改,包括密碼,郵箱,QQ號碼,對自己上傳照片進行描述等等。
第2章工具軟件與技術基礎2.1編程開發(fā)環(huán)境和相關工具本系統(tǒng)采用MicrosoftVisualStudio2005為開發(fā)環(huán)境以,sql2005為數(shù)據(jù)庫基礎,ASP.NET為開發(fā)語言。主要是在開發(fā)環(huán)境中以新建網站來進行開發(fā)。技術路線主要是利用SQLServer來存儲數(shù)據(jù),通過新建表的形式把數(shù)據(jù)存儲在數(shù)據(jù)庫中,SQLServer是一個功能很強大的數(shù)據(jù)庫,足以用以本網站的開發(fā)。前臺主要是通過VisualStudio2005里面的控件來進行頁面設置和功能實現(xiàn)。后臺和前臺的聯(lián)系主要是通過編碼來把數(shù)據(jù)在前臺和后臺的傳遞。2.2編程環(huán)境2.2.1ASP.NETASP.net是把基于通用語言的程序在服務器上運行。不像以前的ASP即時解釋程序,而是將程序在服務器端首次運行時進行編譯。ASP.net構架是可以用Microsoft(R)公司最新的產品VisualS開發(fā)環(huán)境進行開發(fā),WYSIWYG(所見即為所得)的編輯。因為ASP.net是基于通用語言的編譯運行的程序,所以它的強大性和適應性,可以使它運行在Web應用軟件開發(fā)者的幾乎全部的平臺上。通用語言的基本庫,消息機制,數(shù)據(jù)接口的處理都能無縫的整合到ASP.net的Web應用中。[3]ASP.net同時也是language-independent語言獨立化的,所以,你可以選擇一種最適合你的語言來編寫你的程序,或者把你的程序用很多種語言來寫,現(xiàn)在已經支持的有C#(C++和Java的結合體),VB,Jscript。將來,這樣的多種程序語言協(xié)同工作的能力保護您現(xiàn)在的基于COM+開發(fā)的程序,能夠完整的移植向ASP.net。ASP.NET一般分為兩種開發(fā)語言,VB.NET和C#,在本系統(tǒng)中,我采用的是C#語言。用ASP.NET開發(fā)的優(yōu)點有:1.使用.NET提供的所有類庫,可以執(zhí)行以往ASP所不能實現(xiàn)的許多功能。2.引入了服務器端控件的概念,這樣使開發(fā)交互式網站更加方便。3.引入了ADO.NET數(shù)據(jù)訪問接口,大大提高了數(shù)據(jù)訪問效率。4.提供ASP.NET的可視化開發(fā)環(huán)境VisualStudio.NET,進一步提高編程效率。[10]5.保持對ASP的全面兼容。ASP.NET運行速度快。6.ASP.NET全面支持面向對象程序設計。ASP.NET的缺點是:1.ASP.NET運行環(huán)境要求比較高,不僅需要IIS的支持,還需要.NETFremeworkSDK。2.相對于ASP,學習起來稍微復雜。[7]另外,ASP.NET優(yōu)點還包括了ASP.NET啟用了分布式應用程序的兩個功能:Web窗體和XMLWeb服務。[9]相同的配置和調試基本結構支持這兩種功能。Web窗體技術使您建立強大的基于窗體的網頁。[6]Web窗體頁面使用可重復使用的內建組件或自定義組件以簡化頁面中的代碼。[2]使用ASP.NET創(chuàng)建的XMLWeb服務可使您遠程訪問服務器。使用XMLWeb服務,商家可以提供其數(shù)據(jù)或商業(yè)規(guī)則的可編程接口,之后可以由客戶端和服務器端應用程序獲得和操作。通過在客戶端/服務器和服務器/服務器方案中的防火墻范圍內使用標準(如XML消息處理和HTTP),XMLWeb服務可啟用數(shù)據(jù)交換。任何語言編寫的且運行在任何操作系統(tǒng)上的程序都能調用XMLWeb服務。[8]2.3相關工具2.3.1SQLServer2005SQLServer2005則是目前最流行的數(shù)據(jù)庫之一,操作簡單,功能強大,而VisualStadio2008,是用來開發(fā)和運行ASP.NET網站。ASP.NET(基于.NETFramework的ActiveServerPages)是微軟公司的一項技術,是一種使嵌入網頁中的腳本可由因特網服務器執(zhí)行的服務器端腳本技術,運行于IIS之中的程序。SQLServer是一個后臺數(shù)據(jù)庫管理系統(tǒng),它功能強大操作簡便,日益為廣大數(shù)據(jù)庫用戶所喜愛。越來越多的開發(fā)工具提供了與SQLServer的接口。SQLServer是一個關系數(shù)據(jù)庫管理系統(tǒng),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同開發(fā)的。SQLSERVER是大數(shù)據(jù)庫,它也屬于中型數(shù)據(jù)庫,應用于中小型企業(yè)。SQLSERVER的分布式、復制、全文檢索、DTS都可以滿足中型的應用。SQLSERVER的數(shù)據(jù)存儲在它本身的文件內,在安裝目錄下的DATA目錄下,有和數(shù)據(jù)庫同名的數(shù)據(jù)文件和日志文件組成。一般,在WINDOWS體系下,中小型的應用都使用SQLSERVERS。此外,SQLSERVER支持存儲國恥、觸發(fā)器、自定義函數(shù)等操作;安全性、并發(fā)控制能力、數(shù)據(jù)挖掘、聯(lián)機操作等方面其他數(shù)據(jù)庫是無法超越的。[1]
第3章系統(tǒng)總體設計3.1系統(tǒng)需求分析需求分析的目標是確定系統(tǒng)必須完成哪些工作,也就是說對目標系統(tǒng)提出完整的、準確的、清晰的、具體的要求,它是系統(tǒng)分析通向系統(tǒng)設計階段的必經之路。在需求分析的過程中,很重要的一部分就是用數(shù)據(jù)圖和數(shù)據(jù)字典來描述系統(tǒng),然后編寫規(guī)格的說明書。需求分析的好壞直接影響整個工程的成敗。[5]本課題的最終目標是實現(xiàn)學工之家的建設、即輔導員可以通過注冊的一個賬號登陸網站,可以將自己的某些重要文件和一些照片上傳到網站上,完成保存。同時在這個網站上可以對別的輔導員的照片進行評論等等。具體的需求如下:輔導員在線注冊一個會員賬號,且這個會員賬號是唯一的,用這個賬號登錄網站,進去后可以修改自己的信息。同時可以查看自己上傳的文件和照片。同時也可以上傳文件和上傳照片。在這個網站的首頁可以看到學校的最新通告,最新上傳的文件、照片等等。同時用戶可以根據(jù)關鍵字和名稱來實現(xiàn)對照片的搜索。此外,此外有一個管理員來管理所有的用戶,和上傳學校的通告,來管理評論留言內容是否符合國家的規(guī)定。則系統(tǒng)根據(jù)用戶登錄時的登錄名判斷是普通用戶還是管理員用戶。若是管理員,則跳轉到管理員界面,在管理員界面列出了所有用戶的基本信息,如用戶名啊,何時注冊的等等。在這個界面上還有評論管理,留言管理,文件管理等等,管理員可以根據(jù)是否符合有關規(guī)定來決定是否刪除某條評論或留言,亦或是刪除這個用戶。3.2系統(tǒng)功能根據(jù)需求分析,本課題要實現(xiàn)的功能有:1.注冊功能;2.登錄功能;3.修改密碼功能;4.留言板功能;5.上傳照片、文件功能,下載功能;6.搜索功能;7.對照片進行評論功能;由此,系統(tǒng)可以分為七個模塊,分別是:1.用戶注冊;2.用戶登陸;3.用戶個人中心頁面;4.上傳照片、文件頁面;5.照片評論、網站留言頁面;6.下載頁面;7.管理員頁面各功能模塊具體的聯(lián)系如下圖3-1:用戶注冊用戶登陸用戶注冊用戶登陸普通用戶頁面管理員的頁面下載文件留言,評論照片下載文件留言,評論照片管理用戶上傳照片,文件搜索文件修改頭像,找回密碼上傳公告照片,文件管理評論,留言管理圖3-1功能模塊圖3.3數(shù)據(jù)庫設計與實現(xiàn)3.3.1數(shù)據(jù)庫概念模型設計在數(shù)據(jù)庫的設計中,首先要注意命名的規(guī)范,其次就是要注意數(shù)據(jù)的一致性和完整性,盡可能的降低數(shù)據(jù)的冗余,當然如果數(shù)據(jù)冗余度低,數(shù)據(jù)的完整性容易得到保證,但增加了表間連接查詢的操作,所以合理的數(shù)據(jù)冗余也是必要的??墒褂靡?guī)則和約束來對數(shù)據(jù)的有效性驗證。[4]進行數(shù)據(jù)庫設計首先必須準確了解與分析用戶需求(包括數(shù)據(jù)與處理)。數(shù)據(jù)庫的需求分析是整個設計過程的基礎,是最困難、最耗費時間的一步。作為地基的需求分析是否做得充分與準確,決定了在其上構建數(shù)據(jù)大廈的速度與質量。數(shù)據(jù)分析做得不好,甚至會導致整個數(shù)據(jù)設計翻工重做。本系統(tǒng)采用SQLServer2005數(shù)據(jù)庫,根據(jù)系統(tǒng)需求分析來看,本系統(tǒng)數(shù)據(jù)表如下:用戶表:存放用戶的相關信息;文件表:存放用戶上傳的文件;照片表:存放用戶上傳的照片;評論表:存放用戶對照片進行評論的相關信息;留言表:存放用戶在網站上留言的相關信息公告表:存放管理員上傳的學校通告。3.3.2數(shù)據(jù)庫邏輯結構設計表3-1數(shù)據(jù)庫表說明表名作用用戶表存儲用戶基本信息文件表存儲文件信息公告表存儲公告信息照片表存儲照片信息留言表存儲留言信息評論表存儲評論信息各種表都是根據(jù)網站的需要來建的,下面主要分析各種表的結構和功能。表3-2用戶信息表字段名中文描述是否允許為空類型備注userID編號否int(自增值1)權限號userlever級別是int用戶權限Uname名字是varchar用戶名稱Upassword密碼是varchar用戶密碼Uemail郵箱是varchar用戶郵箱HeadPicture頭像是varchar用戶頭像myquestion我的問題是varchar問題myanswer答案是varchar答案num評論數(shù)是int評論數(shù)表3-3文件信息表字段名中文描述是否允許為空類型備注wid序號否int(自增值1)文件序號wname文件名是nvarchar(50)文件名wtime上傳時間是datetime上傳時間SPath存儲路徑是nvarchar(50)存儲路徑Uname上傳者是nvarchar(50)上傳者表3-4公告信息表字段名中文描述是否允許為空類型備注id序號否int(自增值1)公告序號title題目是nvarchar(50)公告題目context內容是nvarchar(MAX)公告內容time上傳時間是datetime上傳時間表3-5照片信息表字段名中文描述是否允許為空類型備注PhotoID序號否int(自增值1)照片序號Uname上傳者是nvarchar(50)上傳者Caption照片標題是nvarchar(50)照片標題Imageurl存儲路徑是nvarchar(50)存儲路徑Time上傳時間是datetime上傳時間表3-4留言信息表字段名中文描述是否允許為空類型備注mid條數(shù)否int(自增值1)留言序號message留言內容是nvarchar(50)留言內容Uname留言者是nvarchar(50)留言者time留言時間是datetime留言時間answer回復內容是nvarchar(50)回復內容表3-4評論信息表字段名中文描述是否允許為空類型備注pid序號否int(自增值1)評論序號Imageurl存儲路徑是nvarchar(50)存儲路徑composition評論內容是nvarchar(50)評論內容time評論時間是datetime評論時間Uname評論人是nvarchar(50)評論人answer回復內容是nvarchar(50)回復內容
第4章界面設計與流程圖4.1界面設計圖4-1首頁圖4-2留言板首先,使用PhotoshopCS4設計好本系統(tǒng)的頁面,然后切割圖片,再使用DreamweaverCS4對頁面進行排版,最后將頁面相關HTML代碼復制到VS2005中進行編程。4.2流程圖注冊賬號注冊賬號使用賬號登錄系統(tǒng)打開系統(tǒng)首頁個人中心上傳照片、文件下載文件修改頭像查看照片,文件圖4-3用戶使用流程圖進入管理員頁面進入管理員頁面管理員登錄用戶信息管理照片、文件管理公告上傳留言、評論管理圖4-4管理員用戶使用流程圖
第5章系統(tǒng)實現(xiàn)5.1修改頭像圖5-1首頁首頁主要分為五個部分如圖所示,網站公告,是關于這個網站的;最新留言則是用戶的最新留言;學校公告是管理員上傳的公告;還有就是照片列表和文件列表。實現(xiàn)代碼如下:SqlConnectionconn=newSqlConnection();conn.ConnectionString="server=PC-200905172339;database=學工之家;uid=sa;password=123456";conn.Open();stringstrpx="selectTop6titlefrom公告orderbytimedesc";//文件顯示的時候按照時間順序來顯示SqlCommandcom=newSqlCommand(strpx,conn);SqlDataReaderdr=com.ExecuteReader();LinkButton[]A=newLinkButton[5];//定義一個linKButton數(shù)組A[0]=LinkButton1;A[1]=LinkButton2;A[2]=LinkButton3;A[3]=LinkButton4;A[4]=LinkButton5;inti=0;while(dr.Read())//讀取文件名{A[i].Text=dr["title"].ToString();i++;}conn.Close();其他三塊最新留言,照片列表,文件列表的顯示和以上代碼大同小異。頁面之間的傳值都是用Session的。5.2新用戶注冊圖5-2注冊頁面查看用戶名是否存在,代碼如下staticboolbCheck;voidCheckName(){SqlConnectionconn=newSqlConnection();conn.ConnectionString="server=PC-200905172339;database=學工之家;uid=sa;password=123456";conn.Open();//打開數(shù)據(jù)庫stringstrsql="select*from用戶表whereUname='"+TextBox1.Text+"'";SqlCommandCom=newSqlCommand(strsql,conn);SqlDataReadersqlreader=Com.ExecuteReader();if(sqlreader.Read()){bCheck=false;}else{bCheck=true;}sqlreader.Close();conn.Close();}//如果用戶名存在了,就會跳出此用戶名已存在的對話框。注冊功能的相關代碼如下:CheckName();if(!bCheck)//判斷是否存在此用戶名{Response.Write("<scriptlanguage=javascript>alert('用戶名已被占用,請選擇其他名稱');</script>");return;}SqlConnectionconn=newSqlConnection();conn.ConnectionString="server=PC-200905172339;database=學工之家;uid=sa;password=123456";stringstrVal="'"+TextBox1.Text+"','"+TextBox2.Text+"','"+TextBox3.Text+"'";stringstrIns="insertinto用戶表(Uname,Upassword,Uemail)values("+strVal+")";//把用戶插入到用戶表中SqlCommandinsCom=newSqlCommand(strIns,conn);SqlDataAdapterda=newSqlDataAdapter();conn.Open();da.InsertCommand=insCom;da.InsertCommand.ExecuteNonQuery();Response.Write("<scriptlanguage=javascript>alert('注冊成功,請單擊返回進入登陸頁面');</script>");Response.Redirect("main.aspx");conn.Close();當用戶填寫完畢點擊注冊后,即將注冊信息數(shù)據(jù)寫入數(shù)據(jù)庫,帳號、密碼既可以用來登錄網站,普通用戶注冊時其userID的默認值為0,管理員的userID為1。注冊成功后就跳入登錄界面。新注冊用戶的頭像是默認的,如果要修改可以到個人中心進行修改。5.3登錄,密碼初始化用戶在登錄界面進行登陸,由后臺來處理登陸信息。部分代碼如下://建立數(shù)據(jù)庫連接SqlConnectionconn=newSqlConnection();conn.ConnectionString="server=PC-200905172339;database=學工之家;uid=sa;password=123456";stringstrSecPwd=FormsAuthentication.HashPasswordForStoringInConfigFile(password.Text,"md5");//密碼用MD5算法進行加密保存stringstrsql="select*from用戶表whereUname='"+name.Text+"'andUpassword='"+strSecPwd+"'";conn.Open();SqlCommandcmd=newSqlCommand(strsql,conn);SqlDataReaderdr=cmd.ExecuteReader();if(dr.Read()){Session["Userlever"]=dr["Userlever"];Session["name"]=name.Text;if((int)Session["Userlever"]==1)//根據(jù)用戶級別的不同,跳入不同的頁面{Response.Redirect("admin.aspx");}else{Response.Redirect("mine.aspx");}}elseResponse.Write("<scriptlanguage=javascript>alert('登陸失敗');</script>");dr.Close();conn.Close();后臺首先檢查用戶輸入的驗證碼是否正確,若不正確,則提示用戶驗證碼輸入錯誤;若正確,則將從表單中提取出來的用戶名同數(shù)據(jù)庫中取出來的用戶名進行比較,若無相等,說明登陸的用戶名是非法的,若有相等,則從數(shù)據(jù)庫中取出該用戶名的密碼,并與輸入的密碼相比較,若不相等,則說明登陸密碼輸入錯誤,若相等,則登陸成功!管理員和普通用戶根據(jù)他們的userlever進入到不同的頁面。在初始化密碼頁面,必須同時答對問題和密碼,否則不能初始化。具體代碼如下:SqlConnectionconn=newSqlConnection();conn.ConnectionString="server=PC-200905172339;database=學工之家;uid=sa;password=123456";stringstrSecPwd=FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox2.Text,"md5");stringstrSecPwd1=FormsAuthentication.HashPasswordForStoringInConfigFile(Label4.Text,"md5");stringstrsql="select*from用戶表whereUname='"+TextBox1.Text+"'";conn.Open();SqlCommandcmd=newSqlCommand(strsql,conn);SqlDataReaderdr=cmd.ExecuteReader();if(dr.Read()){i=dr[6].ToString().CompareTo(TextBox3.Text);j=dr[7].ToString().CompareTo(strSecPwd);if(i==0&&j==0){SqlConnectionconn1=newSqlConnection();conn1.ConnectionString="server=PC-200905172339;database=學工之家;uid=sa;password=123456";stringstrSecPwd2=FormsAuthentication.HashPasswordForStoringInConfigFile((123456).ToString(),"md5");stringstrsql1="update用戶表setUpassword='"+strSecPwd2+"'whereUname='"+TextBox1.Text+"'";SqlCommandinsCom=newSqlCommand(strsql1,conn1);SqlDataAdapterda=newSqlDataAdapter();conn1.Open();da.InsertCommand=insCom;da.InsertCommand.ExecuteNonQuery();conn1.Close();Response.Write("<scriptlanguage=javascript>alert('你的密碼已初始化為123456!');</script>");}elseif(i!=0&&j==0){Response.Write("<scriptlanguage=javascript>alert('密碼提示問題錯誤!');</script>");TextBox3.Text="";}elseif(i!=0&&j!=0){Response.Write("<scriptlanguage=javascript>alert('密碼提示問題或答案錯誤!');</script>");TextBox2.Text="";TextBox3.Text="";}elseif(i==0&&j!=0){Response.Write("<scriptlanguage=javascript>alert('問題答案錯誤!');</script>");TextBox2.Text="";}}dr.Close();conn.Close();5.4上傳文件、照片圖5-3上傳文件圖5-4上傳照片上傳文件和照片主要是用到FileUpload控件,上傳文件代碼如下:if(FileUpload1.HasFile)//如果FileUpload控件中包含了某文件{stringname=FileUpload1.PostedFile.FileName;//客戶端文件路徑FileInfofile=newFileInfo(name);//創(chuàng)建FileInfo實例//從File對象中獲得文件名稱,并賦給變量FileNamestringfileName=file.Name;//服務器端文件路徑stringwebFilePath=Server.MapPath("文件/"+fileName);//讀取文件類型,并賦給變量fileContentTypestringfileContentType=FileUpload1.PostedFile.ContentType;SqlConnectionconn=newSqlConnection();conn.ConnectionString="server=PC-200905172339;database=學工之家;uid=sa;password=123456";stringstrVal="'"+Session["name"]+"','"+TextBox1.Text+"','"+webFilePath+"'";stringstrIns="insertinto文件表(Uname,wname,SPath)values("+strVal+")";//講文件信息插入到文件表中if(!File.Exists(webFilePath)){try{//使用FileUpload控件的SaveAs方法保存文件FileUpload1.SaveAs(webFilePath);Label3.Text="文件“"+fileName+"”成功上傳。";SqlCommandinsCom=newSqlCommand(strIns,conn);SqlDataAdapterda=newSqlDataAdapter();conn.Open();da.InsertCommand=insCom;da.InsertCommand.ExecuteNonQuery();conn.Close();;}catch(Exceptionex)//上傳文件出錯則執(zhí)行的代碼{Label3.Visible=true;//使標簽控件可見Label3.Text="文件上傳失敗,失敗原因:"+ex.Message;}}else{Label3.Visible=true;Label3.Text="文件已經存在,請重命名后上傳";}}else{Label3.Visible=true;Label3.Text="請選擇文件或輸入文件路徑及名稱!";}照片的上傳和文件的上傳基本上差不多,只不過照片上傳的時候定義了文件類型必須為jpg格式的。在這個功能里,在按按鈕的時候是跳出一個文本框,實現(xiàn)代碼如下:this.Button1.Attributes.Add("onclick","javascript:OpenOvertimeDlog('add',540,400)");//增加Buttonthis.Button2.Attributes.Add("onclick","javascript:OpenOvertimeDlog1('add',540,400)");//增加Button<scripttype="text/javascript"language="javascript">functionOpenOvertimeDlog(frmWin,width,height){varme;varaction;action=frmWin;//把父頁面窗口對象當作參數(shù)傳遞到對話框中,以便對話框操縱父頁自動刷新。me="addw.aspx?action="+action+"";//顯示對話框。window.showModalDialog(me,null,'dialogWidth='+width+'px;dialogHeight='+height+'px;help:no;status:no')}</script>5.5對照片評論,留言功能圖5-5瀏覽照片頁面圖5-6對照片評論頁面圖5-7留言板頁面評論和留言基本上是差不多的,評論只是針對的是對上傳照片進行評論,而留言的話就是你想對別人說什么活著對網站的管理員進行留言。點擊評論顯示條數(shù)那個按鈕可以查看對此照片的評論。評論具體代碼如下:if((string)(Session["name"])==null){Response.Write("<scriptlanguage=javascript>alert('請先登陸');</script>");}elseif(TextBox1.Text==""){Response.Write("<scriptlanguage=javascript>alert('評論不能為空');</script>");}else{SqlConnectionconn=newSqlConnection();conn.ConnectionString="server=PC-200905172339;database=學工之家;uid=sa;password=123456";conn.Open();stringstrIns="insertinto評論表(Imageurl,pinglun,time,Uname)values('"+url+"','"+TextBox1.Text+"','"+DateTime.Now+"','"+Session["name"]+"')";SqlCommandinsCom=newSqlCommand(strIns,conn);SqlDataAdapterda=newSqlDataAdapter();da.InsertCommand=insCom;da.InsertCommand.ExecuteNonQuery();TextBox.Text="";dataGridBind();conn.Close();把評論信息保存到數(shù)據(jù)庫中,如果沒有登錄的話,則不能發(fā)表評論,發(fā)表評論的時候內容也不能為空。顯示評論的代碼如下:SqlConnectionconn1=newSqlConnection();conn1.ConnectionString="server=PC-200905172339;database=學工之家;uid=sa;password=123456";conn1.Open();stringstrsql="selectpinglun,time,Uname,pidfrom評論表whereimageurl='"+(string)(Session["im"])+"'ORDERBYtimeDESC";SqlCommandcom=newSqlCommand(strsql,conn1);SqlDataAdapterda=newSqlDataAdapter();da.SelectCommand=com;DataSetds=newDataSet();da.Fill(ds,"評論表");if(!IsPostBack){first.Enabled=false;up.Enabled=false;}PagedDataSourcepg=newPagedDataSource();pg.DataSource=ds.Tables["評論表"].DefaultView;pg.AllowPaging=true;//允許分頁pg.PageSize=6;//每頁顯示的評論條數(shù)if(Request.QueryString["page"]==null){ipage=1;}else{ipage=Convert.ToInt32(Request.QueryString["page"]);}itpage=pg.PageCount;pg.CurrentPageIndex=i1;Label7.Text="第"+ipage.ToString()+"頁/共"+itpage.ToString()+"頁";if(!pg.IsFirstPage)//判斷是否是第一頁{first.PostBackUrl=Request.CurrentExecutionFilePath+"?page=1";up.PostBackUrl=Request.CurrentExecutionFilePath+"?page="+Convert.ToString(i1);}if(!pg.IsLastPage){end.PostBackUrl=Request.CurrentExecutionFilePath+"?page="+pg.PageCount.ToString();next.PostBackUrl=Request.CurrentExecutionFilePath+"?page="+Convert.ToString(ipage+1);}GridView1.DataSource=pg;GridView1.DataBind();顯示評論這里用了DataList來顯示,顯示的是評論者from,評論時間time,還有就是評論內容。留言和以上的評論大同小異,只不過留言每頁顯示的是10條。5.6搜索功能具體代碼如下:SqlConnectionconn=newSqlConnection();conn.ConnectionString="server=PC-200905172339;database=學工之家;uid=sa;password=123456";stringstrsql="select*from文件表wherewname='"+TextBox1.Text+"'";//查詢是否存在此文件conn.Open();//連接數(shù)據(jù)庫SqlCommandcmd=newSqlCommand(strsql,conn);SqlDataReadersqlreader=cmd.ExecuteReader();if(sqlreader.Read()){Session["wname"]=sqlreader["wname"];if(Session["wname"]=""){Response.Write("<scriptlanguage=javascript>alert('你搜索的文件不存在');</script>");}else{Response.Redirect("loaddown.aspx");}}如果文件存在的話,就跳入下載頁面,顯示出搜索文件的基本信息,同時提供此文件的下載。5.7管理員界面圖5-8管理員界面管理員登錄就進入管理員界面,本界面可以查看使用此管理系統(tǒng)的用戶的基本信息,并可對其信息進行編輯和刪除。同時在此界面上,可以上傳公告,對照片、文件的管理,評論、留言的管理。其中用戶管理、留言管理、照片管理、文件管理、評論管理需要配置數(shù)據(jù)源,實現(xiàn)方法如下:使用GridView控件配置數(shù)據(jù)源,與SQL2005數(shù)據(jù)庫表中的數(shù)據(jù)連接,首先選擇GridView控件到頁面,在選擇數(shù)據(jù)源里選擇新建數(shù)據(jù)源,接下來選擇數(shù)據(jù)庫類型,我們選擇數(shù)據(jù)庫,點擊確定后,我們需要選擇數(shù)據(jù)連接,點擊新建連接,選擇MicrosoftSQLServer,接著設置添加連接的數(shù)據(jù),選擇服務器,登錄SQL服務器方式,選擇數(shù)據(jù)庫名,接著連續(xù)點擊下一步,直至出現(xiàn)如圖5-10:圖5-9配置Select語句我們選擇需要讀取的表的列名,按完成即可。上傳公告代碼如下:CheckName();if(!bCheck)//判斷此公告是否存在{Response.Write("<scriptlanguage=javascript>alert('此公告以存在');</script>");return;}SqlConnectionconn=newSqlConnection();conn.ConnectionString="server=PC-200905172339;database=學工之家;uid=sa;password=123456";stringstrVal="'"+TextBox1.Text+"','"+TextBox2.Text+"','"+DateTime.Now.ToShortDateString()+"'";stringstrIns="insertinto公告(title,contect,time)values("+strVal+")";//將公告信息插入到數(shù)據(jù)庫中的公告表中SqlCommandinsCom=newSqlCommand(strIns,conn);SqlDataAdapterda=newSqlDataAdapter();conn.Open();da.InsertCommand=insCom;da.InsertCommand.ExecuteNonQuery();Response.Write("<scriptlanguage=javascript>alert('添加成功,返回上一頁');</script>");Response.Redirect("admin.aspx");conn.Close();//關閉數(shù)據(jù)庫5.8下載文件圖5-10配置Select語句下載頁面顯示的是要下載文件的一些基本信息,實現(xiàn)下載的代碼如下:stringSelectName=Label7.Text;//讀取存儲路徑stringsaveFilename=Label4.Text;//讀取文件名FileInfofinfo=newFileInfo(SelectName);Response.Clear();Response.Charset="utf-8";Response.Buffer=true;this.EnableViewState=false;Response.ContentEncoding=System.Text.Encoding.UTF8;Response.AppendHeader("Content-Disposition","attachment;filename="+saveFilename);Response.ContentType="application/unknown";Response.WriteFile(SelectName);Response.Flush();Response.Close();Response.End();5.9修改頭像圖5-10配置Select語句修改頭像就是跟上傳照片差不多,就是把數(shù)據(jù)庫中的頭像保存中的照片換成你想要的那張頭像。就是更新該用戶的頭像。具體代碼如下:protectedvoidButton1_Click(objectsender,EventArgse){if(FileUpload1.HasFile){stringname=FileUpload1.PostedFile.FileName;FileInfofile=newFileInfo(name);stringfileName=file.Name;stringwebFilePath=Server.MapPath("photo/"+fileName);stringfileContentType=FileUpload1.PostedFile.ContentType;SqlConnectionconn=newSqlConnection();conn.ConnectionString="server=PC-200905172339;database=學工之家;uid=sa;password=123456";stringstrIns="update用戶表setHeadPicture='"+"~/photo/"+fileName+"'whereUname='"+(String)(Session["name"])+"'"http://更新數(shù)據(jù)庫中的頭像圖片;if(fileContentType=="image/pjpeg"){if(!File.Exists(webFilePath)){try{FileUpload1.SaveAs(webFilePath);Label1.Text="照片“"+fileName+"”成功上傳。";SqlCommandinsCom=newSqlCommand(strIns,conn);SqlDataAdapterda=newSqlDataAdapter();conn.Open();da.InsertCommand=insCom;da.InsertCommand.ExecuteNonQuery();conn.Close();;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 決算補充合同范例
- 10類采購合同樣本
- 會場租賃合同樣本
- 2025年何時簽訂租房合同
- 消防崗亭換崗方案范本
- 養(yǎng)殖基地合作合同標準文本
- 養(yǎng)殖金蟬售賣合同樣本
- 農村院落收購合同樣本
- 農村流動養(yǎng)殖合同范例
- 農藥化肥供應合同樣本
- 象棋-小學社團活動記錄表
- 邊坡坡度測量記錄表
- 中職 AutoCAD 2018計算機輔助設計項目化教程課程標準
- 功能醫(yī)學與健康管理
- HZS75型攪拌站安裝施工方法
- 握筆姿勢詳解全解課件
- DB13(J)∕T 8377-2020 建筑施工安全管理標準
- 吊裝施工施工組織設計
- 2019人教版高中英語選擇性必修三單詞表
- 七年級地理歐洲西部
- Seminar_帶SPL的安全集成
評論
0/150
提交評論