版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
65/70存檔資料成績:華東交通大學(xué)理工學(xué)院課程設(shè)計報告書所屬課程名稱ASP.NET程序設(shè)計項目教程題目基于ASP.NET的新聞發(fā)布系統(tǒng)分院電信分院專業(yè)班級電子商務(wù)2011-2學(xué)號20110210460228學(xué)生姓名龔云凱指導(dǎo)教師程志平2014年1月1日目錄TOC\o"1-3"\h\u3602第1章前言 115971第2章系統(tǒng)分析 2205371.1系統(tǒng)需求分析 210371.2開發(fā)環(huán)境 230591第3章系統(tǒng)設(shè)計 4203663.1系統(tǒng)架構(gòu) 4211513.3數(shù)據(jù)庫的設(shè)計 596第3章網(wǎng)站的主要功能設(shè)計 720961.登陸界面的設(shè)計 7234832.會員注冊界面 814343.管理員登陸 10107953.1新聞的添加 11263293.2新聞的添加與刪除 12160913.3新聞的搜索 1395083.4新聞的修改 1476943.5新聞的刪除 1430533.6批量刪除 15257683.7用戶的刪除與查看 17119993.8留言的刪除與查看 18247544.普通用戶的登陸: 18124794.1新聞的瀏覽 1828734.2瀏覽新聞 19272264.3收藏夾功能 20220154.4留言功能 21148244.5顯示所有留言 2150754.6個人資料的修改 2218063第4章系統(tǒng)調(diào)試 26144794.1程序調(diào)試概述 2684244.2調(diào)試本系統(tǒng)分析 2622019第5章設(shè)計心得 2812464參考文獻(資料) 29前言在我國,由于網(wǎng)民數(shù)目的大量增多,新聞媒介逐漸由紙質(zhì)變?yōu)榫W(wǎng)絡(luò)化信息化,新聞發(fā)布系統(tǒng)在我國雖然起步晚,但是研發(fā)和進步速度巨大,所用技術(shù)多種多樣,逐漸同世界先進設(shè)計接軌,常用的技術(shù)如Asp,Jsp,PHP等等,網(wǎng)絡(luò)編程發(fā)展已逐漸成為一種產(chǎn)業(yè)。相較于國內(nèi),國外的網(wǎng)絡(luò)更為發(fā)達和普及,互聯(lián)網(wǎng)全球的發(fā)展形勢是這樣的:由于帶寬的增長,尤其是在國外發(fā)達國家已經(jīng)實現(xiàn)了光纖到戶,日本、韓國這些國家。像美國因為它的有線網(wǎng)和衛(wèi)星網(wǎng)的之間競爭,加上電信網(wǎng)絡(luò)運營商,也在大量發(fā)展固網(wǎng)的光纖業(yè)務(wù),所以互聯(lián)網(wǎng)的業(yè)務(wù)多樣化,而且非常高帶寬化,五年以前大家接觸的互聯(lián)網(wǎng),還是打開網(wǎng)上看新聞,現(xiàn)在做的比較多的,一個是搜索,一個是互聯(lián)網(wǎng)社區(qū),比如開心網(wǎng)、校園網(wǎng),再一個就是下載音樂、視頻、在線觀看,互聯(lián)網(wǎng)一個重要的趨勢,就是高帶寬的應(yīng)用已經(jīng)成為人們主流的應(yīng)用。網(wǎng)絡(luò)的發(fā)展必定帶來信息量的增加,尤其是新聞發(fā)布系統(tǒng)更是層出不窮,應(yīng)用范圍巨大。常見的新聞發(fā)布管理系統(tǒng)種類有兩種:一種是靜態(tài)HTML頁面,更新信息時需要重新制作頁面然后上傳頁面并修改相應(yīng)鏈接,這種方式因為效率太低已不多用;另一種是基于ASP和腳本語言,將動態(tài)網(wǎng)頁和數(shù)據(jù)庫結(jié)合,通過應(yīng)用程序來處理新聞,這是目前較為流行的做法。本文研究的思路及主要成果該系統(tǒng)是基于B/S(Browser/Server,瀏覽器/客戶端)模式實現(xiàn),基于.NET平臺架構(gòu)開發(fā)設(shè)計,主要實現(xiàn)對校園新聞的發(fā)布與管理功能,對新聞內(nèi)容信息的瀏覽閱讀等。隨著Internet/Intranet技術(shù)的興起,將原本在單機或本地局域網(wǎng)上運行的數(shù)據(jù)庫系統(tǒng)移植到因特網(wǎng)中,即開發(fā)基于B/S模式的新一代MIS(ManagementInformationSystem,管理信息系統(tǒng))系統(tǒng),正成為技術(shù)發(fā)展的趨勢。為了保證系統(tǒng)性能的高效性、可擴展性,以及達到數(shù)據(jù)共享和網(wǎng)絡(luò)化管理的目的,本系統(tǒng)采用B/S體系結(jié)構(gòu)進行設(shè)計開發(fā)。系統(tǒng)分析1.1系統(tǒng)需求分析隨著信息化產(chǎn)業(yè)逐漸進入各行各業(yè),并成為經(jīng)濟的基礎(chǔ),對實行信息化必須有一個明確的方向,這也是客不容緩的事。新聞信息作為當(dāng)前信息化的重要組成部分,而新聞管理作為新聞信息中的一個重要環(huán)節(jié),必須同信息化同步,以促使整個經(jīng)濟和新聞事業(yè)的發(fā)展。本系統(tǒng)功能模塊包括:新聞管理,用戶管理,系統(tǒng)管理模塊、留言、留言的刪除與管理。數(shù)據(jù)的操作主要是:數(shù)據(jù)添加、數(shù)據(jù)修改、數(shù)據(jù)查詢?!肮芾韱T用戶”實現(xiàn)的功能如下:一、“新聞管理”是對新聞添加、新聞審核、新聞轉(zhuǎn)移、新聞管理,通過數(shù)據(jù)庫綁定控件實現(xiàn)對信息直接的增、刪、查、改。二、“留言的查看/刪除”實現(xiàn)的功能是對留言的查看和刪除。三、“用戶管理”是對后臺的用戶進行管理,用戶賬號信息的更和添加管理員?!捌胀ㄓ脩簟彼邆涞牡墓δ埽盒侣劦臑g覽與留言。對新聞添加收藏。修改個人的資料。1.2開發(fā)環(huán)境數(shù)據(jù)庫是數(shù)據(jù)管理的一種技術(shù),是計算機科學(xué)的一個分支。數(shù)據(jù)庫管理系統(tǒng)已發(fā)展成為現(xiàn)代通用系統(tǒng)軟件。由于數(shù)據(jù)庫具有數(shù)據(jù)的結(jié)構(gòu)化、可控冗余度、較高的程序與數(shù)據(jù)獨立性、易于擴充、易于編制應(yīng)用程序等優(yōu)點,較大的信息系統(tǒng)都是建立在數(shù)據(jù)庫設(shè)計之上的。由于用到的數(shù)據(jù)表格多,另外考慮到實際情況,我們選用SQLServer作為數(shù)據(jù)庫開發(fā),而沒有選擇Access,主要是因為Access存放的記錄,在實際運用中不適合此系統(tǒng);而SQLServer是一種常用的關(guān)系數(shù)據(jù)庫,能存放和讀取大量的數(shù)據(jù),管理眾多并發(fā)的用戶,故選用SQLServer數(shù)據(jù)庫。用C#語言進行編碼。C#編程語言是微軟在.NET計劃中重要的開發(fā)語言,它具有語法簡單,功能強大,快速應(yīng)用,語言自由,強大的Web服務(wù)器控件,支持跨平臺,與XML相融合等。因此選擇C#編程語言。ASP.NET是ActiveServerPage.NETFramework的縮寫,意為“基于動態(tài)WEB應(yīng)用程序的技術(shù)服務(wù)器網(wǎng)頁”。ASP.NET是微軟公司開發(fā)的代替ASP的一種應(yīng)用,它可以與數(shù)據(jù)庫和其它程序進行交互,是一種功能強大的編程工具。ASP.NET的網(wǎng)頁文件的格式是.aspx,現(xiàn)在常用于各種動態(tài)網(wǎng)站中。ASP.NET是一服務(wù)器端腳本編寫環(huán)境,可以用來創(chuàng)建和運行動態(tài)網(wǎng)頁或Web應(yīng)用程序。ASP.NET網(wǎng)頁可以包含HTML標(biāo)記、普通文本、腳本命令、.css、以及COM組件等。利用ASP.NET可以向網(wǎng)頁中添加交互式內(nèi)容(如在線表單),也可以創(chuàng)建使用HTML網(wǎng)頁作為用戶界面的Web應(yīng)用程序。與HTML相比,ASP.NET網(wǎng)頁具有以下特點:(1)利用ASP.NET可以實現(xiàn)突破靜態(tài)網(wǎng)頁的一些功能限制,實現(xiàn)動態(tài)網(wǎng)頁技術(shù);(2)ASP文件是包含在HTML代碼所組成的文件中的,易于修改和測試;(3)服務(wù)器上的ASP.NET解釋程序會在服務(wù)器端制定ASP程序,并將結(jié)果以HTML格式傳送到客戶端瀏覽器上,因此使用各種瀏覽器都可以正常瀏覽ASP所產(chǎn)生的網(wǎng)頁;(4)ASP.NET提供了一些內(nèi)置對象,使用這些對象可以使服務(wù)器端腳本功能更強。(5)ASP可以使用服務(wù)器端ActiveX組建來執(zhí)行各種各樣的任務(wù)。系統(tǒng)設(shè)計3.1系統(tǒng)架構(gòu)進入該發(fā)布系統(tǒng)根據(jù)級別的不同分為管理員和普通的用戶,所擁有的功能如下圖所示:新聞的瀏覽新聞的瀏覽普通用戶登陸普通用戶登陸新聞的留言新聞的留言留言的查看留言的查看個人資料的修改新聞發(fā)布系統(tǒng)個人資料的修改新聞發(fā)布系統(tǒng)用戶的刪除與管理新聞的增刪查改留言的查看,刪除管理員登陸用戶的刪除與管理新聞的增刪查改留言的查看,刪除管理員登陸新聞發(fā)布管理模塊業(yè)務(wù)流程圖:3.3數(shù)據(jù)庫的設(shè)計根據(jù)所需要實現(xiàn)的功能,共設(shè)計6張數(shù)據(jù)表設(shè)計數(shù)據(jù)庫的名稱為news,共設(shè)6張表,名為admin(管理員的信息)、users(普通用戶的信息)、collection(存放用戶收藏的信息)、leave_word(存放用戶留言的信息)、news(新聞的內(nèi)容)、photos(圖片信息)。數(shù)據(jù)表的創(chuàng)建(以news表為例),設(shè)置newsid為主鍵,同時作為表user、collection、leave_word、photo四張表的輔鍵,設(shè)置的屬性如下圖所示:創(chuàng)建news表的代碼如下:CREATETABLE[dbo].[news]( [newsid][int]IDENTITY(1,1)NOTNULL, [subjects][varchar](50)NULL, [contents][varchar](1000)NULL, [sysdate][datetime]NULL, [type][int]NULL, [author][varchar](10)NULL, [seenum][int]NULL,CONSTRAINT[PK__news__76CBA758]PRIMARYKEYCLUSTERED( [newsid]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]ALTERTABLE[dbo].[news]ADDCONSTRAINT[DF__news__seenum__77BFCB91]DEFAULT(0)FOR[seenum]GO創(chuàng)建好所有的表格之后,各個變量形成以下的函數(shù)依賴關(guān)系:網(wǎng)站的主要功能設(shè)計登陸界面的設(shè)計登陸界面需要實現(xiàn)以下功能:輸入用戶名和密碼,輸入后能通過數(shù)據(jù)的調(diào)用,提示相關(guān)的錯誤。當(dāng)輸入正確的用戶名和密碼后進入相關(guān)頁面??梢孕掠脩舻淖???梢赃x擇用戶的級別(管理員和普通用戶)。設(shè)計完畢后,效果如如下所示:確定按鈕的代碼如下:protectedvoidbtnConfirm_Click(objectsender,System.EventArgse) { if(this.rBtnUser.Checked) { stringsql="select*fromuserswhereusername='"+this.txtUserName.Text+"'anduserpwd='"+this.txtPwd.Text+"'"; if(DB.ExecuteSqlEx(sql)==1) { Response.Write("<script>javascript:alert('驗證失??!請注冊后再登錄');</script>"); } else { Session["username"]=this.txtUserName.Text; Response.Redirect("default.aspx"); } } else { stringmysql="select*fromadminwhereadminname='"+this.txtUserName.Text+"'andadminpwd='"+this.txtPwd.Text+"'"; if(DB.ExecuteSqlEx(mysql)==1) { Response.Write("<script>javascript:alert('請使用正確的賬戶登錄?。?!');</script>"); } else { Session["adminname"]=this.txtUserName.Text; Response.Redirect("manage.aspx"); } } }用戶注冊按鈕的代碼: protectedvoidlBtnRegister_Click(objectsender,System.EventArgse) { Response.Redirect("register.aspx"); }2.會員注冊界面點擊會員注冊按鈕后,跳轉(zhuǎn)入register.aspx頁面,該頁面的效果圖如下所示:點擊確定按鈕觸發(fā)btnConfirm_Click事件,執(zhí)行以下代碼時,首先調(diào)用CheckUserName函數(shù),該函數(shù)的功能是檢測注冊的用戶名是否已存在,當(dāng)用戶填完正確的信息后會提示“恭喜!您已注冊成功,請登錄”,否則則提示“您使用的用戶名已存在!”代碼如下所示:protectedvoidbtnConfirm_Click(objectsender,System.EventArgse) { if(this.CheckUserName(this.txtUserName.Text)) { stringsex=""; if(this.rBtnM.Checked) { sex="男"; } else { sex="女"; } intage=0; age=Convert.ToInt32(this.txtAge.Text); stringsql="insertintousers(username,userpwd,sex,age,email)values('"+this.txtUserName.Text+"','"+this.txtPwd.Text+"','"+sex+"',"+age+",'"+this.txtEmail.Text+"')"; if(DB.ExecuteSql(sql)==0) { Response.Write("<script>javascript:alert('恭喜!您已注冊成功,請登錄');</script>"); } Response.Redirect("login.aspx"); } else { Response.Write("<script>javascript:alert('您使用的用戶名已存在!');</script>"); } } protectedvoidbtnCancel_Click(objectsender,System.EventArgse) { Response.Redirect("register.aspx"); } privateboolCheckUserName(stringusername) { stringsql="select*fromuserswhereusername='"+username+"'"; if(DB.ExecuteSqlEx(sql)==1) { returnfalse; } else { returntrue; } }管理員登陸管理員可實現(xiàn)的功能有新聞的添加、刪除、修改,用戶的查看、刪除,留言的查看與刪除。以管理員的身份登陸后,進入以下頁面:進入該頁面后擁有管理新聞,管理用戶,管理留言三大模塊。3.1新聞的添加點擊進入新聞的添加頁面,并輸入相關(guān)的新聞信息,出現(xiàn)如下圖所示的效果圖:鼠標(biāo)單擊按鈕的觸發(fā)事件:protectedvoidbtnConfirm_Click(objectsender,System.EventArgse) { stringdatetime=DateTime.Now.ToString(); stringsql="insertintonews(subjects,author,contents,type,sysdate)values('"+this.txtsubject.Text+"','"+this.txtauthor.Text+"','"+this.txtcontent.Text+"','"+dl1.SelectedItem.Value+"','"+datetime+"')"; DB.ExecuteSql(sql); Response.Write("<script>javascript:alert('添加成功?。。?);</script>"); sql="select*fromnewswheresysdate='"+datetime+"'"; conn.Open(); SqlCommandcmd=newSqlCommand(sql,conn); Session["newsid"]=cmd.ExecuteScalar().ToString(); }當(dāng)新聞添加成功后會彈出一個對話框,如下圖所示:3.2新聞的添加與刪除當(dāng)點擊修改/刪除新聞按鈕時,會進入以下的頁面,該頁面功能有新聞的搜索,修改及刪除。當(dāng)頁面載入時會執(zhí)行Page_load事件,并執(zhí)行一下代碼,得到下圖所示的頁面:protectedvoidPage_Load(objectsender,System.EventArgse) { //在此處放置用戶代碼以初始化頁面 if(!this.IsPostBack) { this.btndelselect.Attributes.Add("onclick","returnconfirm('確認(rèn)刪除嗎?')"); this.BindToDataGrid(); } }3.3新聞的搜索新聞的搜索可以分為按作者查找、按主題查找、按內(nèi)容查找,以按主題查找為例,在新聞搜索框中輸入123,并按照標(biāo)題查找,得到如下圖所示的結(jié)果:代碼如下:protectedvoidbtnfind_Click(objectsender,System.EventArgse) { find=this.ddlfind.SelectedItem.Value; findcontent=this.txtfind.Text; this.dg.CurrentPageIndex=0; this.BindToDataGrid(); }3.4新聞的修改當(dāng)點擊編輯后,會跳轉(zhuǎn)到一個名為modifynew.asp的頁面,在此頁面可以對新聞進行編輯,再次進行類似于新聞添加的代碼操作。3.5新聞的刪除新聞的刪除分為批量刪除和單個新聞的刪除。單個新聞的刪除即直接點擊刪除字樣,選中名為123標(biāo)題的新聞,此時如圖所示,點擊刪除操作后,頁面如下圖所示:代碼如下所示: privatevoiddg_DeleteCommand(objectsource, System.Web.UI.WebControls.DataGridCommandEventArgse) { stringnewsid=this.dg.DataKeys[e.Item.ItemIndex].ToString(); stringsql="select*fromphotowherenewsid='"+newsid+"'"; conn.Open(); SqlCommandcmd=newSqlCommand("select*fromphotowhere newsid='"+newsid+"'",conn); SqlDataReadersdr=cmd.ExecuteReader(); while(sdr.Read()) { stringfileName=sdr["filename"].ToString(); File.Delete(Server.MapPath("upload")+"\\"+fileName); } sdr.Close(); conn.Close(); stringsql1="deletefromphotowherenewsid='"+newsid+"'"; DB.ExecuteSql(sql1); stringsql2="deletefromleave_wordwherenewsid='"+newsid+"'"; DB.ExecuteSql(sql2); stringsql3="deletefromcollectionwherenewsid='"+newsid+"'"; DB.ExecuteSql(sql3); stringsql4="deletefromnewswherenewsid='"+newsid+"'"; DB.ExecuteSql(sql4); this.BindToDataGrid(); }3.6批量刪除當(dāng)許多的新聞都需要進行刪除時,一個一個的進行刪除就會顯得十分的繁瑣,為了是更加的任性話,加入了批量刪除的功能。在這我們?nèi)缧鑴h除標(biāo)題名為《國際新聞》和《國家主席習(xí)近平發(fā)表》的新聞內(nèi)容,我們可以選中刪除后面的多選框,然后點擊頁面下方的“選中刪除內(nèi)容”按鈕,會彈出確認(rèn)刪除的對話框,點擊確定即可對選中的新聞進行刪除操作。效果圖如下所示:點擊“刪除選中新聞”按鈕所觸發(fā)的按鈕代碼如下: protectedvoidbtndelselect_Click(objectsender,System.EventArgse) { foreach(DataGridItemdlinthis.dg.Items) { CheckBoxchk=(CheckBox)dl.FindControl("chkSelect"); if(chk.Checked) { stringnewsid=this.dg.DataKeys[dl.ItemIndex].ToString(); conn.Open(); SqlCommandcmd=newSqlCommand("select*fromphotowherenewsid='"+newsid+"'",conn); SqlDataReadersdr=cmd.ExecuteReader(); while(sdr.Read()) {. stringfileName=sdr["filename"].ToString(); File.Delete(Server.MapPath("upload")+"\\"+fileName); } sdr.Close(); conn.Close(); stringsql1="deletefromphotowherenewsid='"+newsid+"'"; DB.ExecuteSql(sql1); stringsql2="deletefromleave_wordwherenewsid='"+newsid+"'"; DB.ExecuteSql(sql2); stringsql3="deletefromcollectionwherenewsid='"+newsid+"'"; DB.ExecuteSql(sql3); stringsql4="deletefromnewswherenewsid='"+newsid+"'"; DB.ExecuteSql(sql4); } } this.BindToDataGrid(); }點擊“刪除選中新聞”按鈕后彈出如下圖對話框代碼如下: privatevoiddg_ItemDataBound(objectsender,System.Web.UI.WebControls.DataGridItemEventArgse) { if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem) { ((LinkButton)e.Item.Cells[3].Controls[0]).Attributes.Add("onclick","returnconfirm('確認(rèn)刪除嗎?')"); } }3.7用戶的刪除與查看點擊查看/刪除用戶,進入updateusers頁面,在此頁面可以進行用戶的搜索、查看用戶的信息,刪除用戶,批量刪除操作,由于這些功能與新聞的添加刪除,修改所使用的方法類似,代碼便不再重復(fù),下面是效果演示:用戶的查找:用戶的刪除3.8留言的刪除與查看當(dāng)用戶瀏覽新聞,對新聞內(nèi)容作出評價是,作為管理員需要審核這些評論的內(nèi)容,當(dāng)評論的內(nèi)容有不符合網(wǎng)絡(luò)規(guī)范以及相關(guān)法律法規(guī)時需要對留言進行刪除操作。由于代碼的內(nèi)容與新聞的添加刪除類似,在此便不做累述。普通用戶的登陸:普通用戶所需要的功能是對新聞的瀏覽,評論,以及用戶信息的修改。4.1新聞的瀏覽用戶輸入正確的賬號密碼登陸后,即可進入主頁面。頁面的效果圖如下所示:在此頁面需要實現(xiàn)當(dāng)用戶未登錄,直接訪問此頁面時,會識別用戶的登陸狀態(tài),從而直接跳轉(zhuǎn)到用戶登陸頁面,控制此功能的代碼如下:protectedvoidPage_Load(objectsender,System.EventArgse) { if(Session["username"]==null&&Session["adminname"]==null) { Response.Redirect("login.aspx"); } //在此處放置用戶代碼以初始化頁面 }4.2瀏覽新聞當(dāng)用戶點擊新聞標(biāo)題后,進入瀏覽界面,效果如如下所示:加載選中的新聞是,所調(diào)用的代碼如下:publicpartialclassshownew:System.Web.UI.Page { SqlConnectionconn=DBController.CreateConn(); protectedvoidPage_Load(objectsender,System.EventArgse) { //在此處放置用戶代碼以初始化頁面 if(!this.IsPostBack) { intnewsid=Convert.ToInt32(Request.QueryString["newsid"]); see(); stringsql="select*fromnewswherenewsid="+newsid; SqlCommandmycmd=newSqlCommand(sql,conn); conn.Open(); SqlDataReadergetdata=mycmd.ExecuteReader(); while(getdata.Read()) { this.txtsubject.Text=getdata["subjects"].ToString(); this.txtcontent.Text=getdata["contents"].ToString(); this.sysdate.Text=getdata["sysdate"].ToString(); this.seenum.Text=getdata["seenum"].ToString(); } mycmd.Dispose(); getdata.Close(); conn.Close(); this.BindToDataGrid(); this.BindToTable(); } }4.3收藏夾功能在此頁面可以觀看新聞,可以將喜歡的新聞加入收藏夾中,可以對新聞內(nèi)容進評論,可以對其他留言觀看。添加入收藏夾功能的實現(xiàn)點擊觸發(fā)btnAddToCollection_Click事件,并把用戶名與新聞的編號讀入數(shù)據(jù)庫中,并彈出對話框提示添加成功,相關(guān)數(shù)據(jù)加入到collection數(shù)據(jù)表中。代碼如下:protectedvoidbtnAddToCollection_Click(objectsender,System.EventArgse) { stringnewsid=(Request.QueryString["newsid"]).ToString(); conn.Open(); stringsql="insertintocollection(username,newsid)values('"+Session["username"]+"',"+newsid+")"; SqlCommandcmd=newSqlCommand(sql,conn); cmd.ExecuteNonQuery(); conn.Close(); Response.Write("<script>javascript:alert('已添加到您的收藏夾!??!');</script>"); }此時收藏夾的頁面如下圖所示:4.4留言功能對新聞評論功能的實現(xiàn):當(dāng)用戶瀏覽完新聞,需要發(fā)表一下自己的見解,寫好自己想說的內(nèi)容之后,提交評論,此時觸發(fā)btnConfirm_Click事件,調(diào)用以下代碼: protectedvoidbtnConfirm_Click(objectsender,System.EventArgse) { if(Page.IsValid) { intnewsid=Convert.ToInt32(Request.QueryString["newsid"]); stringsql="insertintoleave_word(username,newsid,title,content,posttime)values('"+Session["username"]+"',"+newsid+",'"+this.txttitle.Text+"','"+this.txtcont.Text+"','"+DateTime.Now.ToString()+"')"; conn.Open(); SqlCommandmycmd=newSqlCommand(sql,conn); mycmd.ExecuteNonQuery(); mycmd.Dispose(); conn.Close(); this.BindToTable(); } }4.5顯示所有留言當(dāng)用戶需要觀看其他會員的留言時,點擊“顯示所有留言”,觸發(fā)BtnShowAllLeaveWord_Click事件,并且跳轉(zhuǎn)入showlw.aspx頁面。點擊后效果如如下所示: protectedvoidlBtnShowAllLeaveWord_Click(objectsender,System.EventArgse) { stringnewsid=(Request.QueryString["newsid"]).ToString(); Response.Redirect("showlw.aspx?newsid="+newsid); }4.6個人資料的修改當(dāng)用戶需要對個人的信息進行修改時,點擊導(dǎo)航條上方的修改資料,進入如下頁面:當(dāng)填好信息后,點擊確認(rèn)即可修改個人信息,此時用戶的信息被寫回到數(shù)據(jù)庫的user表中。代碼如下:protectedvoidPage_Load(objectsender,System.EventArgse) { //在此處放置用戶代碼以初始化頁面 if(!this.IsPostBack) { conn.Open(); stringsql="select*fromuserswhereusername='"+Session["username"]+"'"; SqlCommandcmd=newSqlCommand(sql,conn); SqlDataReadersdr=cmd.ExecuteReader(); if(sdr.Read()) { this.txtUserName.Text=sdr["username"].ToString(); this.txtPwd.Text=sdr["userpwd"].ToString(); this.txtPwdConfirm.Text=sdr["userpwd"].ToString(); this.txtAge.Text=sdr["age"].ToString(); this.txtEmail.Text=sdr["email"].ToString(); if(sdr["sex"].ToString()=="男") { this.rBtnM.Checked=true; } else { this.rBtnF.Checked=true; } } sdr.Close(); conn.Close(); } } overrideprotectedvoidOnInit(EventArgse) { // //CODEGEN:該調(diào)用是ASP.NETWeb窗體設(shè)計器所必需的。 // InitializeComponent(); base.OnInit(e); } ///<summary> ///設(shè)計器支持所需的方法-不要使用代碼編輯器修改 ///此方法的內(nèi)容。 ///</summary> privatevoidInitializeComponent() { } #endregion protectedvoidbtnConfirm_Click(objectsender,System.EventArgse) { stringsex; if(this.rBtnM.Checked==true) { sex="男"; } else { sex="女"; } stringsql="updateuserssetuserpwd='"+this.txtPwd.Text+"',sex='"+sex+"',age="+this.txtAge.Text+",email='"+this.txtEmail.Text+"'whereusername='"+Session["username"]+"'"; DB.ExecuteSql(sql); Response.Write("<script>javascript:alert('更新成功?。?!');</script>"); }系統(tǒng)調(diào)試4.1程序調(diào)試概述程序調(diào)試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu),而精心設(shè)計一批測試用例,并利用這些數(shù)據(jù)運行程序、發(fā)現(xiàn)錯誤的過程。是將編制的程序投入實際運行前,用手工或編譯程序等方法進行測試,修正語法錯誤和邏輯錯誤的過程。這是保證計算機信息系統(tǒng)正確性的必不可少的步驟。編完計算機程序,必須送入計算機中測試。程序調(diào)試主要有兩種方法,即靜態(tài)調(diào)試和動態(tài)調(diào)試。程序的靜態(tài)調(diào)試就是在程序編寫完以后,由人工“代替”或“模擬”計算機,對程序進行仔細(xì)檢查,主要檢查程序中的語法規(guī)則和邏輯結(jié)構(gòu)的正確性。實踐表明,有很大一部分錯誤可以通過靜態(tài)檢查來發(fā)現(xiàn)。通過靜態(tài)調(diào)試,可以大大縮短上機調(diào)試的時間,提高了效率。程序的動態(tài)調(diào)試貫穿在編譯、連接和運行的整個過程中。根據(jù)程序編譯、連接和運行時計算機給出的錯誤信息進行程序調(diào)試,是程序調(diào)試中常用的方法,也是最初步的動態(tài)調(diào)試。在此基礎(chǔ)上,通過“分段隔離”、“設(shè)置斷點”、“跟蹤打印”進行程序的調(diào)試。動態(tài)調(diào)試常用兩種方法:黑盒法和白盒法。黑盒法是把測試對象看作一個黑盒子,測試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和特征,只依據(jù)需求說明書檢查程序功能;白盒法是把測試對象看作一個打開的盒子,測試人員必須了解程序內(nèi)部結(jié)構(gòu),對所有邏輯路徑進行測試。實踐表明,對于查找某些類型的錯誤來說,靜態(tài)調(diào)試比動態(tài)調(diào)試更有效,對于其他類型的錯誤來說剛好相反。因此靜態(tài)調(diào)試和動態(tài)調(diào)試是互相補充、相輔相成的,缺少其中任何一種方法都會使查找錯誤的效率降低。4.2調(diào)試本系統(tǒng)分析調(diào)試本程序中常見的錯誤有3類:語法錯誤、例外錯誤和邏輯錯誤。常犯的語法錯誤包括以下幾方面:忘記書寫表達式中的引號與其它運算符。循環(huán)嵌套時的括號。(3)數(shù)據(jù)類型格式不對。(4)SQL語句錯誤。邏輯錯誤比較難檢測和解決。編譯程序并不能發(fā)現(xiàn)它們。有時候,嚴(yán)重的邏輯錯誤會停止程序的執(zhí)行。有一些邏輯錯誤會產(chǎn)生明顯錯誤的結(jié)果。常見的邏輯錯誤有:(1)數(shù)據(jù)庫字段錯誤。(2)數(shù)據(jù)字段設(shè)計不夠數(shù)據(jù)長度。例外錯誤是由程序直接控制的外部環(huán)境引起的。例如,程序因為找不到它所需要的文件而失敗,也許這個文件已被刪除或移動;控件或?qū)ο笮薷牧嗣Q等。通過調(diào)試本系統(tǒng)讓我的糾錯能力和分
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版小額貸款擔(dān)保及貸款利率調(diào)整及貸款條件變更及擔(dān)保人責(zé)任合同3篇
- 二零二五年度木工耗材供應(yīng)與配送合同4篇
- 01 修辭手法題的應(yīng)對策略-高考語文一輪復(fù)習(xí)之核心考點解密
- 七年級道德與法治試卷
- 信用激勵措施考核試卷
- 二零二五年度鋼材行業(yè)質(zhì)量標(biāo)準(zhǔn)制定與實施合同3篇
- 二零二五年度陵園墓碑雕刻技藝傳承合同4篇
- 2025版品牌視覺設(shè)計制作合同范本2篇
- 《菜根譚名句》課件
- 2025年因擅自公開他人隱私賠償協(xié)議
- 課題申報書:GenAI賦能新質(zhì)人才培養(yǎng)的生成式學(xué)習(xí)設(shè)計研究
- 駱駝祥子-(一)-劇本
- 全國醫(yī)院數(shù)量統(tǒng)計
- 《中國香文化》課件
- 2024年醫(yī)美行業(yè)社媒平臺人群趨勢洞察報告-醫(yī)美行業(yè)觀察星秀傳媒
- 第六次全國幽門螺桿菌感染處理共識報告-
- 天津市2023-2024學(xué)年七年級上學(xué)期期末考試數(shù)學(xué)試題(含答案)
- 經(jīng)濟學(xué)的思維方式(第13版)
- 盤錦市重點中學(xué)2024年中考英語全真模擬試卷含答案
- 手衛(wèi)生依從性調(diào)查表
- 湖北教育出版社四年級下冊信息技術(shù)教案
評論
0/150
提交評論