




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、深入體驗C#項目開發(fā)第2章 在線留言簿系統(tǒng) PAGE 74 PAGE 75 第第2章在線留言言簿系統(tǒng)統(tǒng) 當(dāng)今網(wǎng)絡(luò)絡(luò)應(yīng)用隨隨處可見見,QQQ、MSSN、博博客、微微博、留留言板、論壇隨著著熱門生生活節(jié)奏奏的加快快,人們們將更多多地使用用網(wǎng)絡(luò)進進行交流流,而作作為交流流方式之之一的在在線留言言簿系統(tǒng)統(tǒng)更是深深受人們們的青睞睞。通過過在線留留言簿系系統(tǒng),可可以實現(xiàn)現(xiàn)身處世世界各地地的人們們的在線線交流。本章將講講解在線線留言簿簿系統(tǒng)的的運行流流程,并并通過具具體的實實例來講講解其具具體的實實現(xiàn)過程程。2.1 第一一個盈利利項目無論你是是一位IIT菜鳥鳥,還是是職場中中的程序序高手,只要從從事ITT這
2、一行行業(yè),就就會發(fā)現(xiàn)現(xiàn)這行很很容易攬攬到私活活。我在在學(xué)生時時代就給給一些公公司干過過網(wǎng)頁設(shè)設(shè)計、圖圖像處理理等一些些兼職,當(dāng)然是是給他們們做下手手。自從從學(xué)習(xí)程程序之后后,我就就一直想想著做一一個真正正的項目目,不但但能賺到到錢,而而且還能能讓我的的產(chǎn)品能能被客戶戶所使用用?,F(xiàn)在在回憶起起來,我我做的第第一個真真正的盈盈利項目目應(yīng)該是是大四那那年的在在線留言言簿系統(tǒng)統(tǒng)。2.1.1 不速之之客20055年122月1日日,大雪雪紛飛 風(fēng)流倜儻儻的學(xué)生生會主席席CH來來到了我我們的宿宿舍。他他的來意意十分明明確,學(xué)學(xué)校官方方網(wǎng)站準準備升級級,要增增加一個個在線留留言簿系系統(tǒng)供學(xué)學(xué)生使用用。學(xué)校校想
3、讓學(xué)學(xué)生來完完成這個個升級工工作,這這樣不但但節(jié)約開開支,而而且可以以檢驗學(xué)學(xué)生的實實踐能力力。CHH在得到到這個消消息后,第一時時間想到到了我們們宿舍,因為華華東區(qū)大大學(xué)生計計算機競競賽團體體一等獎獎來自我我們宿舍舍。有了學(xué)生生會主席席的大力力舉薦,加上我我們的實實力,這這個項目目就很自自然地被被我們拿拿下了。2.1.2 組建團團隊20055年122月2日日,小雪雪飄飄雖然項目目不大,我們還還是組建建了一個個小團隊隊,團隊隊成員如如下。舍友A:一個來自自偏遠山山區(qū)的孩孩子,家家庭貧困困??赡苣芤驗榧壹彝サ脑?,酷酷愛學(xué)習(xí)習(xí),快成成學(xué)習(xí)超超人了。僅有的的零花錢錢全都買買了輔導(dǎo)導(dǎo)書:PPHP、
4、Javva、AASP、Phootosshopp、Drreammweaaverr、C+、FFlassh。最最大優(yōu)點點是啥都都懂,缺缺點是啥啥都不精精通。項項目的核核心編碼碼他是不不能勝任任了,但但是其策策劃經(jīng)驗驗是最好好的。任務(wù):負負責(zé)項目目規(guī)劃,撰寫系系統(tǒng)設(shè)計計規(guī)劃書書。舍友B:父母是做做生意的的,最大大的特點點是有錢錢,大學(xué)學(xué)四年花花錢如流流水。從從小酷愛愛編程,在C語語言和數(shù)數(shù)據(jù)庫領(lǐng)領(lǐng)域有頗頗深的造造詣。任務(wù):負負責(zé)文件件概覽工工作。舍友C:一個運動動狂人,喜歡驚驚險刺激激的戶外外運動,每天早早晨去操操場跑馬馬拉松,冬天穿穿短褲上上街,從從不生病病,目標(biāo)標(biāo)是攀登登珠峰。任務(wù):負負責(zé)搭建建并
5、設(shè)計計數(shù)據(jù)庫庫。舍友D:一個普通通城市家家庭的孩孩子,戴戴著一副副眼鏡,文質(zhì)彬彬彬。此此人十分分聰明,屬于一一看就會會的類型型,所以以學(xué)習(xí)成成績很好好。課余余愛好廣廣泛,喜喜歡看足足球、踢踢足球。任務(wù):負負責(zé)留言言系統(tǒng)的的編碼工工作。我:目前還沒沒有出人人頭地,充其量量是ITT界一只只待飛的的小鳥。任務(wù):負負責(zé)系統(tǒng)統(tǒng)整體框框架設(shè)計計,協(xié)調(diào)調(diào)項目中中各個模模塊的進進展,并并設(shè)計數(shù)數(shù)據(jù)庫訪訪問層。具體職能能結(jié)構(gòu)如如圖2-1所示示。圖2-11 職職能結(jié)構(gòu)構(gòu)圖整個項目目的具體體操作流流程是:項目規(guī)規(guī)劃文件概概覽搭建數(shù)數(shù)據(jù)庫設(shè)計數(shù)數(shù)據(jù)庫訪訪問層編碼實實現(xiàn)。2.1.3 小會議議20055年122月3日日,
6、晴今天我們們召開了了一個動動員會議議,并為為未來項項目的進進展做了了一個簡簡單的規(guī)規(guī)劃。我我們一致致認為:本項目目包括后后臺數(shù)據(jù)據(jù)庫的建建立、維維護以及及前端應(yīng)應(yīng)用程序序的開發(fā)發(fā)兩個方方面。應(yīng)應(yīng)用程序序的開發(fā)發(fā)采用目目前比較較流行的的ADOO數(shù)據(jù)庫庫訪問技技術(shù),并并將每個個數(shù)據(jù)庫庫表的字字段和操操作封裝裝到相應(yīng)應(yīng)的類中中,使應(yīng)應(yīng)用程序序的各個個窗體都都能夠共共享對表表的操作作,而不不需要重重復(fù)編碼碼,使程程序更加加易于維維護,從從而將面面向?qū)ο笙蟮某绦蛐蛟O(shè)計思思想成功功地應(yīng)用用于應(yīng)用用程序設(shè)設(shè)計中,這也是是本系統(tǒng)統(tǒng)的優(yōu)勢勢和特色色,具體體流程如如圖2-2所示示。圖2-22 實實現(xiàn)流程程最后我做
7、做了一個個簡單的的總結(jié):“要開發(fā)發(fā)一個在在線留言言簿系統(tǒng)統(tǒng),首先先需要進進行系統(tǒng)統(tǒng)需求分分析和總總體設(shè)計計,分析析系統(tǒng)的的使用對對象和用用戶需求求,設(shè)計計系統(tǒng)的的體系結(jié)結(jié)構(gòu)和數(shù)數(shù)據(jù)庫表表結(jié)構(gòu),決定使使用的開開發(fā)工具具和后臺臺數(shù)據(jù)庫庫,規(guī)劃劃項目的的開發(fā)進進度等。”大家一致致提議:A盡快快作出規(guī)規(guī)劃書,后續(xù)工工作將以以規(guī)劃書書為基礎(chǔ)礎(chǔ)進行擴擴展。20055年122月144日,晴晴空萬里里系統(tǒng)規(guī)劃劃是一個個項目的的基礎(chǔ),是任何何項目的的第一步步工作。原來我我做項目目時,往往往看到到功能之之后就忙忙不迭地地新建工工程,并并進行編編碼。但但是總是是忽略了了這樣或或那樣的的要求,到最后后需要經(jīng)經(jīng)過多次次
8、修改,造成了了欲速則則不達。這次我我吸取了了以前的的教訓(xùn),在前期期階段就就進行了了一絲不不茍的分分析。2.2 系統(tǒng)統(tǒng)概述和和總體設(shè)設(shè)計20055年122月5日日,上午午,陽光光明媚會議完成成后,整整個團隊隊就興奮奮地馬上上開始了了具體工工作。今今天一大大早,AA就做出出了項目目規(guī)劃書書。整個個規(guī)劃書書分為兩兩個部分分,分別別是在線線留言簿簿模塊功功能原理理和在線線留言簿簿系統(tǒng)構(gòu)構(gòu)成模塊塊。20055年122月5日日,下午午按照預(yù)先先分配的的任務(wù),由A負負責(zé)系統(tǒng)統(tǒng)概述和和總體設(shè)設(shè)計,這這是我們們整個項項目的第第一步,能不能能打響第第一槍就就靠他了了。我深深知A向向來做事事比較拖拖沓,所所以一開開
9、始就宣宣稱會一一直緊盯盯著他不不放。他他無奈之之下,只只好抽出出一段時時間將任任務(wù)完成成了。2.2.1 在線留留言簿模模塊功能能原理Web站站點的在在線留言言簿系統(tǒng)統(tǒng)的實現(xiàn)現(xiàn)原理比比較清晰晰明了,其主要要操作是是對數(shù)據(jù)據(jù)庫數(shù)據(jù)據(jù)進行添添加和刪刪除操作作。在其其實現(xiàn)過過程中,往往是是根據(jù)系系統(tǒng)的需需求而進進行不同同功能模模塊的設(shè)設(shè)置。在在線留言言簿模塊塊的必備備功能如如下。(1) 提供信信息發(fā)布布表單供供用戶發(fā)發(fā)布新的的留言。(2) 將用戶戶發(fā)布的的留言添添加到系系統(tǒng)庫中中。(3) 在頁面面內(nèi)顯示示系統(tǒng)庫庫中的留留言數(shù)據(jù)據(jù)。(4) 對某條條留言數(shù)數(shù)據(jù)進行行在線回回復(fù)。(5) 刪除系系統(tǒng)內(nèi)不不需要
10、的的留言。2.2.2 在線留留言簿系系統(tǒng)構(gòu)成成模塊一個典型型的在線線留言簿簿系統(tǒng)構(gòu)構(gòu)成模塊塊如下。信息發(fā)表表模塊:用戶可可以在系系統(tǒng)上發(fā)發(fā)布新的的留言信信息。信息顯示示模塊:用戶發(fā)發(fā)布的留留言信息息能夠在在系統(tǒng)上上顯示。留言回復(fù)復(fù)模塊:可以對對用戶發(fā)發(fā)布的留留言進行行回復(fù),以實現(xiàn)現(xiàn)相互間間的交互互。系統(tǒng)管理理模塊:站點管管理員能能夠?qū)Πl(fā)發(fā)布的信信息進行行管理控控制。上述應(yīng)用用模塊的的具體運運行流程程如圖22-3所所示。圖2-33 在線線留言簿簿系統(tǒng)運運行流程程圖通過前面面的介紹紹,讀者者可初步步了解在在線留言言簿模塊塊的原理理和具體體的運行行流程。在接下下來的內(nèi)內(nèi)容中,將通過過一個具具體的在在
11、線留言言簿模塊塊實例,向讀者者講解一一個典型型在線留留言簿系系統(tǒng)的具具體設(shè)計計流程。20055年122月7日日,上午午,晴空空萬里歷時兩天天,A的的系統(tǒng)規(guī)規(guī)劃工作作大功告告成,有有了這個個規(guī)劃書書,以后后的工作作就有目目的性了了。接下下來,需需要B馬馬上規(guī)劃劃出系統(tǒng)統(tǒng)所需的的項目文文件,為為后期的的編碼工工作做好好準備。2.3 規(guī)劃劃系統(tǒng)文文件20055年122月7日日,下午午,雪花花飄飄經(jīng)過前面面兩天的的忙碌,總算有有了一點點成果。經(jīng)過總總體構(gòu)成成模塊分分析后,接下來來就可以以根據(jù)各各構(gòu)成功功能模塊塊來規(guī)劃劃系統(tǒng)實實現(xiàn)文件件了。規(guī)規(guī)劃項目目文件的的工作由由B來完完成,一一下午的的時間他他就在
12、VVisuual Stuudioo 20005中中規(guī)劃好好了項目目文件。2.3.1 規(guī)劃文文件20055年122月8日日,上午午,陽光光明媚今天是個個好天氣氣,我的的心情也也充滿了了期待。在這個個美好的的日子里里,B在在網(wǎng)上光光顧了很很多留言言簿系統(tǒng)統(tǒng),并且且發(fā)表了了多個留留言信息息。根據(jù)據(jù)總結(jié)的的模塊功功能和規(guī)規(guī)劃的結(jié)結(jié)構(gòu)圖,B規(guī)劃劃出了整整個項目目的實現(xiàn)現(xiàn)文件,具體說說明如下下。系統(tǒng)配置置文件:功能是是對項目目程序進進行總體體配置。樣式設(shè)置置模塊:功能是是設(shè)置系系統(tǒng)文件件的顯示示樣式。數(shù)據(jù)庫文文件:功功能是搭搭建系統(tǒng)統(tǒng)數(shù)據(jù)庫庫平臺,保存系系統(tǒng)的登登錄數(shù)據(jù)據(jù)。留言簿列列表文件件:功能能是將系
13、系統(tǒng)內(nèi)的的留言信信息以列列表樣式式顯示出出來。發(fā)布留言言模塊:功能是是向系統(tǒng)統(tǒng)內(nèi)添加加新的留留言數(shù)據(jù)據(jù)。留言管理理頁面:功能是是刪除系系統(tǒng)內(nèi)部部需要的的留言數(shù)數(shù)據(jù)。2.3.2 選擇我我的武器器20055年122月8日日,下午午,工具具的困惑惑在此,BB準備使使用當(dāng)前前最新的的Vissuall Sttudiio 220055,預(yù)期期規(guī)劃的的各個文文件在VVisuual Stuudioo 20005解解決方案案資源管管理器中中的效果果如圖22-4所所示。圖2-44 預(yù)預(yù)期規(guī)劃劃的項目目文件2.4 數(shù)據(jù)據(jù)庫設(shè)計計本項目系系統(tǒng)的開開發(fā)主要要包括后后臺數(shù)據(jù)據(jù)庫的建建立、維維護以及及前端應(yīng)應(yīng)用程序序的開發(fā)
14、發(fā)兩個方方面。數(shù)數(shù)據(jù)庫設(shè)設(shè)計是在在線留言言簿系統(tǒng)統(tǒng)設(shè)計開開發(fā)的一一個重要要組成部部分。2.4.1 后臺數(shù)數(shù)據(jù)庫及及數(shù)據(jù)庫庫訪問接接口的選選擇20055年122月9日日,又見見雪花,選擇數(shù)數(shù)據(jù)庫數(shù)據(jù)庫工工作由CC來完成成,C對對我們的的建議為為:開發(fā)發(fā)數(shù)據(jù)庫庫管理信信息系統(tǒng)統(tǒng)需要選選擇后臺臺數(shù)據(jù)庫庫和相應(yīng)應(yīng)的數(shù)據(jù)據(jù)庫訪問問接口。后臺數(shù)數(shù)據(jù)庫的的選擇需需要考慮慮用戶需需求、系系統(tǒng)功能能和性能能要求等等因素??紤]到到系統(tǒng)所所要管理理的數(shù)據(jù)據(jù)量比較較大,且且需要多多用戶同同時運行行訪問,本項目目將使用用SQLL Seerveer 220055作為后后臺數(shù)據(jù)據(jù)庫管理理平臺。2.4.2 數(shù)據(jù)庫庫結(jié)構(gòu)的的設(shè)
15、計對于具體體的數(shù)據(jù)據(jù)庫設(shè)計計,C參參考了AA的需求求分析。由需求求分析的的規(guī)劃可可知整個個項目對對象有兩兩種信息息,所以以對應(yīng)的的數(shù)據(jù)庫庫也需要要包含這這兩種信信息,從從而系統(tǒng)統(tǒng)需要包包含如下下兩個數(shù)數(shù)據(jù)庫表表。Messsagee:留言言信息表表。Replly:回回復(fù)信息息表。C給出了了具體數(shù)數(shù)據(jù)庫表表的書面面文件:在SQQL SServver 20005中創(chuàng)創(chuàng)建一個個名為“Liuuyann”的數(shù)據(jù)據(jù)庫,并并新建了了兩個表表:Meessaage和和Repply。(1) 表Meessaage用用于保存存留言信信息,具具體設(shè)計計結(jié)構(gòu)如如表2-1所示示。表2-11 MMesssagee信息表表結(jié)構(gòu)字
16、段名稱稱數(shù)據(jù)類型型是否主鍵鍵默認值功能描述述IDint是遞增1編號Titllevarccharr(2000)否Nulll標(biāo)題Messsageetextt否Nulll內(nèi)容CreaateDDateedateetimme否Nulll時間IPvarccharr(200)否NulllIP地址址Emaiilvarccharr(2550)否Nulll郵箱Stattustinyyintt否0狀態(tài)(2) 表Reeplyy用于保保存留言言回復(fù)信信息,具具體設(shè)計計結(jié)構(gòu)如如表2-2所示示。表2-22 RReplly信息息表結(jié)構(gòu)構(gòu)字段名稱稱數(shù)據(jù)類型型是否主鍵鍵默認值功能描述述IDint是遞增1編號Repllyvarcc
17、harr(10000)否Nulll內(nèi)容CreaateDDateedateetimme否Nulll時間IPvarccharr(200)否NulllIP地址址MesssageeIDint否Nulll留言編號號20055年122月9日日,傍晚晚,數(shù)據(jù)據(jù)庫的重重要性靜下心細細想一下下,數(shù)據(jù)據(jù)庫工作作看似比比較簡單單,其實實很有技技術(shù)含量量。合理理的數(shù)據(jù)據(jù)庫設(shè)計計是一個個項目是是否高效效的基礎(chǔ)礎(chǔ)。所以以在進行行設(shè)計時,C很謹謹慎、認認真,經(jīng)經(jīng)過4天天的努力力后才滿滿足他的的要求。接下來來,需要要我自己己親自出出馬,完完成參數(shù)數(shù)設(shè)置文文件和數(shù)數(shù)據(jù)庫訪訪問層的的設(shè)計。2.5 系統(tǒng)統(tǒng)配置設(shè)設(shè)置和數(shù)數(shù)據(jù)庫訪訪問
18、層系統(tǒng)配置置設(shè)置和和數(shù)據(jù)庫庫訪問層層的工作作由我來來完成,此步驟驟是整個個項目的的基礎(chǔ),項目中中的具體體功能將將以此為為基礎(chǔ)進進行擴展展。我深深知此步步驟的重重要性,所以一一直通宵宵達旦,盡力尋尋求最優(yōu)優(yōu)方案。20055年122月100日,上上午,多多云間陰陰拿著A的的功能分分析、BB的規(guī)劃劃文件和和C的數(shù)數(shù)據(jù)庫設(shè)設(shè)計,我我仔細統(tǒng)統(tǒng)籌規(guī)劃劃,總結(jié)結(jié)出此過過程需要要兩個階階段,分分別需要要完成系系統(tǒng)配置置和實現(xiàn)現(xiàn)數(shù)據(jù)庫庫訪問層層。2.5.1 系統(tǒng)配配置經(jīng)過前面面兩天的的忙碌,總算有有了一點點成果。經(jīng)過總總體構(gòu)成成功能分分析后,接下來來就可以以根據(jù)各各構(gòu)成功功能模塊塊進行實實質(zhì)性的的工作了了。具體
19、體有如下下兩個工工作。新建網(wǎng)站站項目。實現(xiàn)。1. 新新建網(wǎng)站站項目實質(zhì)性工工作的第第一步是是創(chuàng)建一一個Viisuaal SStuddio 20005項目目,流程程如下。(1) 打開VVisuual Stuudioo 20005,選擇【文件】【項項目】【網(wǎng)站站】命令令,在彈彈出的【新建網(wǎng)網(wǎng)站】對對話框中中創(chuàng)建一一個名為為“Liuuyann”的網(wǎng)站站項目,如圖22-5所所示。(2) 然后根根據(jù)2.3.11節(jié)中介介紹的規(guī)規(guī)劃文件件,分別別創(chuàng)建對對應(yīng)的程程序文件件,并分分別命名名。創(chuàng)建建完畢后后的效果果如圖22-6所所示。圖2-55 新建建網(wǎng)站項項目 圖2-66 Viisuaal SStuddio 2
20、0005解決決方案 資源管管理器中中的程序序文件2. 配配置系統(tǒng)統(tǒng)文件我們的這這個在線線留言簿簿項目是是由幾個個程序文文件實現(xiàn)現(xiàn)的。要要想這些些程序成成功運行行,需要要一個前前提:配配置系統(tǒng)統(tǒng)文件。在Viisuaal SStuddio 20005開發(fā)發(fā)ASPP.NEET程序序時,系系統(tǒng)配置置文件是是Webb.coonfiig,其其主要功功能是設(shè)設(shè)置數(shù)據(jù)據(jù)庫的連連接參數(shù)數(shù),并配配置了系系統(tǒng)與AAjaxx服務(wù)器器的相關(guān)關(guān)內(nèi)容。1) 配配置連接接字符串串參數(shù)配置連接接字符串串參數(shù)即即設(shè)置系系統(tǒng)程序序連接數(shù)數(shù)據(jù)庫的的參數(shù),其對應(yīng)應(yīng)實現(xiàn)代代碼如下下。其中,“souurcee”設(shè)置連連接的數(shù)數(shù)據(jù)庫服服務(wù)器
21、;“useer iid”和“pwdd”分別指指定數(shù)據(jù)據(jù)庫的登登錄名和和密碼;“dattabaase”設(shè)置連連接數(shù)據(jù)據(jù)庫的名名稱。Web.connfigg文件是是ASPP.NEET的基基本文件件,通常常用于存存儲系統(tǒng)統(tǒng)的公用用信息,數(shù)據(jù)庫庫的連接接語句就就在里面面建立。上述代代碼是通通用的AASP.NETT配置代代碼,但但是在AASP.NETT代碼調(diào)調(diào)試時需需要加入入如下調(diào)調(diào)試代碼碼。設(shè)置“ccomppilaatioon ddebuug=truue”后就啟用用了 ASSPX 調(diào)試。如果將此此值設(shè)置置為“fallse”,將提高高此應(yīng)用用程序運運行時的的性能。設(shè)置為為“truue”后可以將將調(diào)試符符
22、號(.pdbb 信息息) 插插入到編編譯頁中中。因為為這將創(chuàng)創(chuàng)建執(zhí)行行起來較較慢的大大文件,所以應(yīng)應(yīng)該只在在調(diào)試時時將此值值設(shè)置為為 trrue,而在所所有其他他時候都都設(shè)置為為fallse。2) 配配置Ajjax服服務(wù)器參參數(shù)配置Ajjax服服務(wù)器參參數(shù)即配配置Ajjax Conntrool TToollkitt程序集集參數(shù),為AjjaxCConttrollTooolkiit.ddll程程序集提提供一個個前綴字字符串“AjaaxCoontrrolTToollkitt”。這樣樣,系統(tǒng)統(tǒng)頁面在在引用AAjaxxConntroolTooolkkit.dlll中的控控件時,不需要要額外添添加代代碼。
23、上上述功能能在元元素內(nèi)的的對應(yīng)實實現(xiàn)代碼碼如下。 20055年122月100日,中中午,WWeb.connfigg文件的的重要性性我深刻知知道Weeb.cconffig文文件的重重要性,在ASSP.NNET中中,資源源的配置置信息包包含在一一組配置置文件中中,每個個文件都都名為WWeb.connfigg。每個個配置文文件都包包含XMML標(biāo)記記和子標(biāo)標(biāo)記的嵌嵌套層次次結(jié)構(gòu),這些標(biāo)標(biāo)記帶有有指定配配置設(shè)置置的屬性性。因為為這些標(biāo)標(biāo)記必須須是格式式正確的的XMLL,所以以標(biāo)記、子標(biāo)記記和屬性性是區(qū)分分大小寫寫的。標(biāo)標(biāo)記名和和屬性名名是Caamell大小寫寫形式的的,這意意味著標(biāo)標(biāo)記名的的第一個個字符
24、是是小寫的的,任何何后面連連接單詞詞的第一一個字母母都是大大寫的。屬性值值是Paascaal大小小寫形式式的,這這意味著著第一個個字符是是大寫的的,任何何后面連連接單詞詞的第一一個字母母也是大大寫的。但trrue和和fallse例例外,它它們總是是小寫的的??偨Y(jié)結(jié)完畢之之后,我我決定早早點休息息,為接接下來的的數(shù)據(jù)庫庫訪問層層設(shè)計做做好準備備。2.5.2 數(shù)據(jù)庫庫訪問層層設(shè)計20055年122月100日,下下午,出出現(xiàn)陽光光,什么么是數(shù)據(jù)據(jù)庫訪問問層設(shè)計計數(shù)據(jù)庫訪訪問層我我已經(jīng)使使用了多多次,但但是其具具體是一一個什么么東西我我還是不不很明白白。帶著著問題,我在網(wǎng)網(wǎng)絡(luò)中找找到了答答案:數(shù)數(shù)據(jù)庫
25、訪訪問層就就是實現(xiàn)現(xiàn)數(shù)據(jù)庫庫訪問。網(wǎng)絡(luò)中中檢索到到的信息息如下。數(shù)據(jù)庫訪訪問層:有時也也稱為是是持久層層,其功功能主要要是負責(zé)責(zé)數(shù)據(jù)庫庫的訪問問。簡單單的說法法就是實實現(xiàn)對數(shù)數(shù)據(jù)表的的 Seelecct、IInseert、Upddatee、Deelette的操操作。如如果要加加入ORRM的元元素,那那么就會會包括對對象和數(shù)數(shù)據(jù)表之之間的mmapppingg,以及及對象實實體的持持久化。我編寫了了文件llei.cs,實現(xiàn)應(yīng)應(yīng)用程序序的數(shù)據(jù)據(jù)庫訪問問層。文文件leei.ccs的主主要功能能是,在在ASPPNETTAJAAXWeeb. AjaaxLeeaveeworrd空間間內(nèi)建立立Messsagg
26、e類,并實現(xiàn)現(xiàn)對系統(tǒng)統(tǒng)庫中數(shù)數(shù)據(jù)的處處理。上上述功能能的實現(xiàn)現(xiàn)流程如如圖2-7所示示。圖2-77 數(shù)據(jù)據(jù)訪問層層實現(xiàn)流流程圖20055年122月155日,傍傍晚,數(shù)數(shù)據(jù)訪問問的方式式數(shù)據(jù)庫訪訪問層是是.NEET框架架的核心心知識,建立合合理的數(shù)數(shù)據(jù)庫訪訪問層結(jié)結(jié)構(gòu),可可以提高高系統(tǒng)的的效率,并為后后期維護護帶來極極大的方方便。通通過實現(xiàn)現(xiàn)數(shù)據(jù)的的訪問模模式,可可達到對對物理數(shù)數(shù)據(jù)庫中中的表、視圖等等的訪問問。應(yīng)用用程序?qū)?shù)據(jù)庫庫的訪問問有以下下3種方方式。(1) 事務(wù)腳腳本:存存儲過程程。(2)ORRM:對對象-關(guān)系映映射。(3) 表模型型:以物物理數(shù)據(jù)據(jù)表為基基本單位位進行訪訪問,類類似
27、.NETT中的DDataaTabble。而我的想想法是:在.NNET中中第三種種方式更更容易實實現(xiàn)。因因為表和和視圖有有很多相相似點,不同的的是視圖圖是只讀讀的。通通過表模模型,可可以很好好地解決決實現(xiàn)層層和表現(xiàn)現(xiàn)層的結(jié)結(jié)合問題題,并解解決效率率問題,這在大大型站點點中十分分重要。下面介紹紹文件llei.cs的的具體實實現(xiàn)流程程。1. 定定義Meessaage類類定義Meessaage類類的實現(xiàn)現(xiàn)代碼如如下。usinng SSysttem;usinng SSysttem.Datta;usinng SSysttem.Connfigguraatioon;usinng SSysttem.Datta.
28、SSqlCClieent;nameespaace ASPPNETTAJAAXWeeb.AAjaxxLeaavewworddpubblicc cllasss Meessaagepuubliic MMesssagee()2. 獲獲取系統(tǒng)統(tǒng)內(nèi)留言言信息獲取系統(tǒng)統(tǒng)內(nèi)留言言信息即即獲取系系統(tǒng)庫內(nèi)內(nèi)已存在在的留言言信息,其功能能是由方方法GeetMeessaagess()實實現(xiàn)的。方法GGetMMesssagees()的具體體實現(xiàn)流流程如下下。(1) 從系統(tǒng)統(tǒng)配置文文件Weeb.cconffig內(nèi)內(nèi)獲取數(shù)數(shù)據(jù)庫連連接參數(shù)數(shù),并將將其保存存在coonneectiionSStriing內(nèi)內(nèi)。(2) 使用連連接
29、字符符串創(chuàng)建建conn對象,實現(xiàn)數(shù)數(shù)據(jù)庫連連接。(3) 新建獲獲取數(shù)據(jù)據(jù)庫留言言數(shù)據(jù)的的SQLL查詢語語句。(4) 創(chuàng)建獲獲取數(shù)據(jù)據(jù)的對象象da。(5) 打開數(shù)數(shù)據(jù)庫連連接,獲獲取查詢詢數(shù)據(jù)。(6) 將獲取取的查詢詢結(jié)果保保存在dds中,并返回回ds。上述功能能的對應(yīng)應(yīng)實現(xiàn)代代碼如下下。publlic DattaSeet GGetMMesssagees()/獲取取連接字字符串strringg coonneectiionSStriing = CConffiguurattionnMannageer.CConnnecttionnStrringgs SQLLCONNNECCTIOONSTTRINNG.
30、CoonneectiionSStriing;/創(chuàng)建連連接SqllConnnecctioon ccon = nnew SqllConnnecctioon(cconnnecttionnStrringg);/創(chuàng)建SQQL語句句strringg cmmdTeext = SELLECTT * FROOM MMesssagee Orrderr byy CrreatteDaate DESSC;/創(chuàng)建SqqlDaataAAdappterrSqllDattaAddaptter da = nnew SqllDattaAddaptter(cmddTexxt,ccon);/定義DaataSSetDattaSeet d
31、ds = neew DDataaSett();tryy /打開開連接coon.OOpenn();/填充充數(shù)據(jù)daa.Fiill(ds,DaataTTablle);cattch(Exccepttionn exx) /拋出異異常thhroww neew EExceeptiion(ex.Messsagge,eex);finnallly /關(guān)閉閉連接coon.CClosse();retturnn dss;數(shù)據(jù)庫的的設(shè)計真真的很重重要,因因為幾乎乎所有的的動態(tài)WWeb站站點的內(nèi)內(nèi)容都是是基于數(shù)數(shù)據(jù)庫數(shù)數(shù)據(jù)的,所以對對數(shù)據(jù)庫庫的操作作應(yīng)該充充分考慮慮效率問問題。在在此告訴訴讀者一一個小小小的建議議,建議議
32、讀者充充分利用用所在機機器內(nèi)存存中緩存存的ADDO對象象。3. 添添加系統(tǒng)統(tǒng)留言信信息添加系統(tǒng)統(tǒng)留言信信息,即即將新發(fā)發(fā)布的留留言信息息添加到到系統(tǒng)庫庫中,此此功能是是由方法法AdddMesssagge(sstriing tittle,strringg meessaage,strringg ipp,sttrinng eemaiil)實實現(xiàn)的。方法AAddMMesssagee(sttrinng ttitlle,sstriing messsagge,sstriing ip,strringg emmaill)的具具體實現(xiàn)現(xiàn)流程如如下。(1) 從系統(tǒng)統(tǒng)配置文文件Weeb.cconffig內(nèi)內(nèi)獲取數(shù)數(shù)據(jù)
33、庫連連接參數(shù)數(shù),并將將其保存存在coonneectiionSStriing內(nèi)內(nèi)。(2) 使用連連接字符符串創(chuàng)建建conn對象,實現(xiàn)數(shù)數(shù)據(jù)庫連連接。(3) 使用SSQL添添加語句句,然后后創(chuàng)建ccmd對對象準備備插入操操作。(4) 打開數(shù)數(shù)據(jù)庫連連接,執(zhí)執(zhí)行新數(shù)數(shù)據(jù)插入入操作。(5) 將數(shù)據(jù)據(jù)插入操操作所涉涉及的行行數(shù)保存存在reesullt中。(6) 插入成成功則返返回reesullt值,失敗則則返回-1。上述功能能的對應(yīng)應(yīng)實現(xiàn)代代碼如下下。publlic intt AdddMeessaage(strringg tiitlee,sttrinng mmesssagee,sttrinng iip,
34、sstriing emaail) strringg coonneectiionSStriing = CConffiguurattionnMannageer.CConnnecttionnStrringgs SQLLCONNNECCTIOONSTTRINNG.CoonneectiionSStriing;SqllConnnecctioon ccon = nnew SqllConnnecctioon(cconnnecttionnStrringg);/創(chuàng)建SQQL語句句strringg cmmdTeext = INSSERTT INNTO Messsagge(TTitlle,MMesssagee,IPP
35、,Emmaill,CrreatteDaate, Staatuss)VAALUEES(Tittle,Meessaage,IPP,EEmaiil,GGETDDATEE(),0);SqllCommmannd ccmd = nnew SqllCommmannd(ccmdTTextt,coon);/創(chuàng)建參參數(shù)并賦賦值cmdd.Paarammeteers.Addd(Tittle,SqqlDbbTyppe.VVarCCharr,2000);cmdd.Paarammeteers.Addd(Messsagge,SqllDbTTypee.Teext);cmdd.Paarammeteers.Addd(Ip,Sqql
36、DbbTyppe.VVarCCharr,200);cmdd.Paarammeteers.Addd(Emaail,SqqlDbbTyppe.VVarCCharr,2555);cmdd.Paarammeteers0.Vallue = ttitlle;cmdd.Paarammeteers1.Vallue = mmesssagee;cmdd.Paarammeteers2.Vallue = iip;cmdd.Paarammeteers3.Vallue = eemaiil;intt reesullt = -11;tryy /打開開連接coon.OOpenn();/操作作數(shù)據(jù)reesullt = cmmd.
37、EExeccuteeNonnQueery();cattch(Exccepttionn exx) /拋出出異常thhroww neew EExceeptiion(ex.Messsagge,eex);finnallly /關(guān)閉閉連接coon.CClosse();retturnn reesullt;4. 刪刪除系統(tǒng)統(tǒng)留言信信息刪除系統(tǒng)統(tǒng)留言信信息即將將系統(tǒng)內(nèi)內(nèi)存在的的留言數(shù)數(shù)據(jù)從系系統(tǒng)庫中中刪除,此功能能是由方方法DeeletteMeessaage(intt meessaageIID)實實現(xiàn)的。其具體體實現(xiàn)流流程如下下。(1) 從系統(tǒng)統(tǒng)配置文文件Weeb.cconffig內(nèi)內(nèi)獲取數(shù)數(shù)據(jù)庫連連接參數(shù)數(shù)
38、,并將將其保存存在coonneectiionSStriing內(nèi)內(nèi)。(2) 使用連連接字符符串創(chuàng)建建conn對象,實現(xiàn)數(shù)數(shù)據(jù)庫連連接。(3) 使用SSQL刪刪除語句句,然后后創(chuàng)建ccmd對對象準備備刪除操操作。(4) 打開數(shù)數(shù)據(jù)庫連連接,執(zhí)執(zhí)行新數(shù)數(shù)據(jù)刪除除操作。(5) 將數(shù)據(jù)據(jù)刪除操操作所涉涉及的行行數(shù)保存存在reesullt中。(6) 刪除成成功則返返回reesullt值,失敗則則返回-1。上述功能能的對應(yīng)應(yīng)實現(xiàn)代代碼如下下。publlic intt DeeletteMeessaage(intt meessaageIID)strringg coonneectiionSStriing = CC
39、onffiguurattionnMannageer.CConnnecttionnStrringgs SSQLCCONNNECTTIONNSTRRINGG.ConnnecctioonSttrinng;SqllConnnecctioon ccon = nnew SqllConnnecctioon(cconnnecttionnStrringg);/創(chuàng)建SQQL語句句strringg cmmdTeext = DELLETEE Meessaage WHEERE ID = ID;SqllCommmannd ccmd = nnew SqllCommmannd(ccmdTTextt,coon);/創(chuàng)建參參數(shù)并
40、賦賦值cmdd.Paarammeteers.Addd(ID,SqqlDbbTyppe.IInt,4);cmdd.Paarammeteers0.Vallue = mmesssageeID;intt reesullt = -11;tryy /打開開連接coon.OOpenn();/操作作數(shù)據(jù)reesullt = cmmd.EExeccuteeNonnQueery();cattch(Exccepttionn exx) /拋出出異常thhroww neew EExceeptiion(ex.Messsagge,eex);finnallly /關(guān)閉閉連接conn.Cllosee();retturnn re
41、esullt;5. 獲獲取系統(tǒng)統(tǒng)內(nèi)留言言回復(fù)信信息獲取系統(tǒng)統(tǒng)內(nèi)留言言回復(fù)信信息即查查詢系統(tǒng)統(tǒng)庫內(nèi)用用戶對留留言的回回復(fù)信息息數(shù)據(jù),此功能能是由方方法GeetReeplyyByMMesssagee(innt mmesssageeID)實現(xiàn)的的。其具具體實現(xiàn)現(xiàn)流程如如下。(1) 從系統(tǒng)統(tǒng)配置文文件Weeb.cconffig內(nèi)內(nèi)獲取數(shù)數(shù)據(jù)庫連連接參數(shù)數(shù),并將將其保存存在coonneectiionSStriing內(nèi)內(nèi)。(2) 使用連連接字符符串創(chuàng)建建conn對象,實現(xiàn)數(shù)數(shù)據(jù)庫連連接。(3) 新建查查詢數(shù)據(jù)據(jù)庫留言言回復(fù)數(shù)數(shù)據(jù)的SSQL查查詢語句句。(4) 創(chuàng)建獲獲取數(shù)據(jù)據(jù)的對象象da。(5) 打開數(shù)數(shù)
42、據(jù)庫連連接,獲獲取查詢詢數(shù)據(jù)。(6) 將獲取取的查詢詢結(jié)果保保存在dds中,并返回回ds。上述功能能的對應(yīng)應(yīng)實現(xiàn)代代碼如下下。publlic DattaSeet GGetRRepllyByyMesssagge(iint messsaggeIDD) sstriing connnecctioonSttrinng = CoonfiigurratiionMManaagerr. ConnnecctioonSttrinngs SQLLCONNNECCTIOONSTTRINNG.CoonneectiionSStriing;SSqlCConnnecttionn coon = neew SSqlCConnnec
43、ttionn(coonneectiionSStriing);/創(chuàng)創(chuàng)建SQQL語句句sstriing cmddTexxt = SSELEECT * FFROMM Reeplyy WHHEREE MeessaageIID = MMesssageeID Ordder by CreeateeDatte DDESCC;SSqlDDataaAdaapteer dda = neew SSqlDDataaAdaapteer(ccmdTTextt,coon);/創(chuàng)創(chuàng)建參數(shù)數(shù)并賦值值dda.SSeleectCCommmandd.Paarammeteers.Addd(MesssaggeIDD,SSqlDDbTyyp
44、e.Intt,4);dda.SSeleectCCommmandd.Paarammeteers0.Vallue = mmesssageeID;/定定義DaataSSetDDataaSett dss = neww DaataSSet();ttry conn.Oppen();/填充數(shù)數(shù)據(jù)da.Filll(dds,DattaTaablee);ccatcch(EExceeptiion ex) thrrow neww Exxcepptioon(eex.MMesssagee,exx);ffinaallyy /關(guān)關(guān)閉連接接conn.Cllosee();rretuurn ds;6. 添添加留言言回復(fù)信信息添加留
45、言言回復(fù)信信息即將將新發(fā)布布的留言言回復(fù)信信息添加加到系統(tǒng)統(tǒng)庫中,此功能能是由方方法AdddReeplyy(sttrinng mmesssagee,sttrinng iip,iint messsaggeIDD)實現(xiàn)現(xiàn)的。其其具體實實現(xiàn)流程程如下。(1) 從系統(tǒng)統(tǒng)配置文文件Weeb.cconffig內(nèi)內(nèi)獲取數(shù)數(shù)據(jù)庫連連接參數(shù)數(shù),并將將其保存存在coonneectiionSStriing內(nèi)內(nèi)。(2) 使用連連接字符符串創(chuàng)建建conn對象,實現(xiàn)數(shù)數(shù)據(jù)庫連連接。(3) 使用SSQL添添加語句句,然后后創(chuàng)建ccmd對對象準備備插入操操作。(4) 打開數(shù)數(shù)據(jù)庫連連接,執(zhí)執(zhí)行新數(shù)數(shù)據(jù)插入入操作。(5) 將數(shù)
46、據(jù)據(jù)插入操操作所涉涉及的行行數(shù)保存存在reesullt中。(6) 插入成成功則返返回reesullt值,失敗則則返回-1。上述功能能的對應(yīng)應(yīng)實現(xiàn)代代碼如下下。publlic intt AdddReeplyy(sttrinng mmesssagee,sttrinng iip,iint messsaggeIDD) sstriing connnecctioonSttrinng = CoonfiigurratiionMManaagerr.CoonneectiionSStriingss SQLLCONNNECCTIOONSTTRINNG.CoonneectiionSStriing;SSqlCConnne
47、cttionn coon = neew SSqlCConnnecttionn(coonneectiionSStriing);sstriing cmddTexxt = IINSEERT INTTO RReplly(RReplly,IIP,CCreaateDDatee, MesssaggeIDD)VAALUEES(Repply,IPP,GEETDAATE(),MesssaggeIDD);SSqlCCommmandd cmmd = neew SSqlCCommmandd(cmmdTeext,conn);/創(chuàng)創(chuàng)建參數(shù)數(shù)并賦值值ccmd.Parrameeterrs.AAdd(RReplly,SqllDb
48、TTypee.VaarChhar,10000);ccmd.Parrameeterrs.AAdd(IIp,SqllDbTTypee.VaarChhar,20);ccmd.Parrameeterrs.AAdd(MMesssageeID,SqqlDbbTyppe.IInt,4);ccmd.Parrameeterrs00.VValuue = meessaage;ccmd.Parrameeterrs11.VValuue = ipp;ccmd.Parrameeterrs22.VValuue = meessaageIID;iint ressultt = -1;ttry /打開連連接conn.Oppen();
49、/操作數(shù)數(shù)據(jù)ressultt = cmdd.ExxecuuteNNonQQuerry();ccatcch(EExceeptiion ex) /拋出異異常thrrow neww Exxcepptioon(eex.MMesssagee,exx);ffinaallyy /關(guān)閉連連接conn.Cllosee();rretuurn ressultt;在上述各各處理方方法中,使用了了SQLL的查詢詢、添加加和刪除除語句,對系統(tǒng)統(tǒng)數(shù)據(jù)庫庫內(nèi)的數(shù)數(shù)據(jù)進行行了操作作處理。在現(xiàn)實實Webb應(yīng)用系系統(tǒng)中,各類應(yīng)應(yīng)用的數(shù)數(shù)據(jù)庫相相關(guān)操作作都是基基于上述述3種操操作的。SQLL語句是是數(shù)據(jù)庫庫技術(shù)的的核心知知識之一一,
50、讀者者可以通通過在百百度中檢檢索“SQLL教程”關(guān)鍵字字來獲取取其相關(guān)關(guān)知識。20055年122月188日,晴晴空萬里里今天完成成了數(shù)據(jù)據(jù)庫訪問問層的編編碼工作作,壓力力頓時減減輕了許許多,決決定抽出出一點時時間做一一個技術(shù)術(shù)總結(jié)。在ASSP.NNET程程序中,常把經(jīng)經(jīng)常用到到的設(shè)置置性信息息保存到到數(shù)據(jù)庫庫中,這這些信息息對于每每一個訪訪問用戶戶都是相相同的。若每一一個用戶戶訪問時時,都要要去數(shù)據(jù)據(jù)庫里取取出來,然后顯顯示給用用戶,會會加重數(shù)數(shù)據(jù)庫服服務(wù)器負負載,使使之無法法快速服服務(wù)于更更重要的的事務(wù)處處理。而而且Weeb服務(wù)務(wù)器也必必須不停停地創(chuàng)建建ADOO對象,從而消消耗大量量資源,導(dǎo)
51、致當(dāng)當(dāng)用戶很很多時幾幾乎失去去響應(yīng)。如果能能把一些些常用信信息事先先存儲在在內(nèi)存中中,當(dāng)用用戶訪問問時,直直接從內(nèi)內(nèi)存中取取出,顯顯示給用用戶,則則可以大大大減小小系統(tǒng)的的壓力,提高響響應(yīng)速度度。 在具體應(yīng)應(yīng)用時,可以把把已經(jīng)取取得了數(shù)數(shù)據(jù)的RRecoordSSet對對象存儲儲在Apppliicattionn變量中中。當(dāng)用用戶訪問問時,從從Apppliccatiion變變量中取取得ReecorrdSeet對象象,而不不需再次次建立數(shù)數(shù)據(jù)庫連連接。也也可以將將ReccorddSett對象里里的數(shù)據(jù)據(jù)存儲在在數(shù)組中中,然后后再將數(shù)數(shù)組存儲儲在Apppliicattionn變量中中,使用用時用數(shù)數(shù)組
52、的方方式讀取取。另外,在在此總結(jié)結(jié)一下效效率的問問題。因因為數(shù)據(jù)據(jù)庫技術(shù)術(shù)是動態(tài)態(tài)站點的的基礎(chǔ),所以在在Webb程序內(nèi)內(nèi)會有大大量的查查詢語句句。同時時,隨著著站點訪訪問量的的增加,一個站站點可能能同時需需要查詢詢大量數(shù)數(shù)據(jù),所所以數(shù)據(jù)據(jù)庫查詢詢的效率率問題便便提上了了日常議議程。在在此向讀讀者提出出如下兩兩條建議議。(1) 合理使使用索引引。并不是所所有索引引對查詢詢都有效效,SQQL是根根據(jù)表中中數(shù)據(jù)來來進行查查詢優(yōu)化化的,當(dāng)當(dāng)索引列列有大量量重復(fù)數(shù)數(shù)據(jù)時,SQLL查詢可可能不會會去利用用索引,如一表表中有字字段seex,mmalee、feemalle幾乎乎各一半半,那么么即使在在sexx
53、上建了了索引也也對查詢詢效率起起不了作作用。讀讀者可以以通過在在百度中中檢索“索引效效率優(yōu)化化”關(guān)鍵字字來獲取取相關(guān)知知識。(2) 使用存存儲過程程。存儲過程程是一個個很好的的工具,它不但但提高了了程序的的安全性性,而且且也提高高了數(shù)據(jù)據(jù)處理效效率。編編寫合理理的語句句可以決決定存儲儲過程和和觸發(fā)器器的效率率??偨Y(jié)完畢畢之后,我決定定早點休休息,為為接下來來的具體體編碼階階段做準準備。2.6 編 碼 實實 現(xiàn)20055年122月199日,上上午,陽陽光明媚媚因為在系系統(tǒng)框架架設(shè)計中中,我已已經(jīng)編寫寫好了共共用類,完成了了數(shù)據(jù)訪訪問層的的設(shè)計,所以編編碼工作作的思路路就十分分清晰了了。D只只需在
54、我我已經(jīng)編編寫類的的基礎(chǔ)上上進行擴擴充,即即可完成成整個編編碼工作作。最后后的編碼碼工作很很重要,所以我我讓思維維最敏捷捷的D來來完成。今天我把把需要的的前期資資料(規(guī)規(guī)劃書、數(shù)據(jù)庫庫設(shè)計、框架設(shè)設(shè)計、類類設(shè)計)都交給給了D。20055年122月200日,上上午,多多云間陰陰,出現(xiàn)現(xiàn)波瀾5天過去去了,和和D約定定的交付付時間已已經(jīng)到了了,但是是我一直直沒有看看見D的的蹤影。無奈之之下,我我給他打打了一個個電話。原來他他女友父父母從老老家來看看他,這這幾天陪陪他們?nèi)トス浯竺髅骱?、千千佛山了了,明天天準備去去趵突泉泉,一直直抽不出出身來做做項目。此時的的我意識識到了問問題的嚴嚴重性,D已經(jīng)經(jīng)沒有時
55、時間來完完成項目目了,我我只好硬硬著頭皮皮上架,做出了了如下兩兩個決定定。(1) 找學(xué)生生會主席席CH出出面和學(xué)學(xué)校溝通通,再寬寬限5天天,我們們保證完完成任務(wù)務(wù)。(2) 我嘗試試完成DD的任務(wù)務(wù)。幸好學(xué)校校很寬容容,寬限限了我們們5天,而我只只能通宵宵達旦2.6.1 留言數(shù)數(shù)據(jù)顯示示1. 留留言數(shù)據(jù)據(jù)顯示模模塊留言數(shù)據(jù)據(jù)顯示模模塊的功功能是,將系統(tǒng)統(tǒng)庫內(nèi)的的留言信信息以列列表的樣樣式顯示示出來,并提供供新留言言發(fā)布表表單,將將發(fā)表的的數(shù)據(jù)添添加到系系統(tǒng)庫中中。上述述功能的的實現(xiàn)文文件如下下。文件Inndexx.asspx。文件Inndexx.asspx.cs。文件Yaanzhhenggma.
56、asppx。文件AjjaxSServvicee.css。1) 留留言列表表顯示頁頁面文件Inndexx.asspx的的功能是是,插入入專用控控件將系系統(tǒng)內(nèi)數(shù)數(shù)據(jù)讀取取并顯示示出來,然后提提供發(fā)布布表單供供用戶發(fā)發(fā)布新留留言。其其具體實實現(xiàn)流程程如下。插入1個個GriidViiew控控件,以以列表樣樣式顯示示庫內(nèi)的的數(shù)據(jù)。在表格內(nèi)內(nèi)顯示各各留言的的數(shù)據(jù)內(nèi)內(nèi)容。添加3個個鏈接供供留言發(fā)發(fā)布、留留言回復(fù)復(fù)和留言言管理操操作。調(diào)用Ajjax程程序集內(nèi)內(nèi)的DyynammicPPopuulatte控件件,實現(xiàn)現(xiàn)面板顯顯示留言言回復(fù)內(nèi)內(nèi)容。文件Inndexx.asspx中中,留言言列表顯顯示頁面面的主要要實
57、現(xiàn)代代碼如下下。 作者者:aa hrref=maailtto: 于、 留留言 我要要留言&nbbsp;a hhreff=HHuiffu.aaspxx?MeessaageIID=我要回回復(fù)&nbssp;展展開 ajaaxTooolkkit:DynnamiicPoopullateeExttendder ID=dppeReeplyy rrunaat=serrverr CleearCConttenttsDuurinngUppdatte=truue UpddatiingCCssCClasss=PoppulaatePPaneel SerrvicceMeethood=GettRepplyBByMeessaa
58、ge SeerviicePPathh=AAjaxxSerrvicce.aasmxx ConntexxtKeey= TaargeetCoontrrolIID=pReeplyy PoppulaateTTrigggerrConntroolIDD=hhlShhowRReplly上述代碼碼執(zhí)行后后將在頁頁面內(nèi)顯顯示系統(tǒng)統(tǒng)內(nèi)已存存在的留留言數(shù)據(jù)據(jù)。2) 留留言發(fā)布布表單本模塊的的功能是是為用戶戶提供新新留言的的發(fā)布表表單,其其具體實實現(xiàn)流程程如下。插入5個個TexxtBoox控件件,分別別用于輸輸入留言言標(biāo)題、IP地地址、郵郵件地址址、留言言內(nèi)容和和驗證碼碼。插入TeextBBoxWWateermaark
59、控控件,用用于確保保留言標(biāo)標(biāo)題不為為空。調(diào)用TeextBBoxWWateermaark控控件,用用于確保保郵件格格式的合合法性。調(diào)用VaaliddatoorCaalloout控控件,用用于顯示示郵件非非法提示示水印效效果。調(diào)用TeextBBoxWWateermaark控控件,用用于確保保郵件內(nèi)內(nèi)容的合合法性。插入激活活按鈕,用于執(zhí)執(zhí)行相關(guān)關(guān)操作事事件。定義MeessaageVValiidattor函函數(shù),用用于確保保留言內(nèi)內(nèi)容大于于10字字符而不不多于880000字符。調(diào)用驗證證碼生成成文件。文件Inndexx.asspx中中,留言言發(fā)布表表單的主主要實現(xiàn)現(xiàn)代碼如如下。留留言標(biāo)題題: IP地地
60、址:電子郵郵件:aasp:ReggulaarExxpreessiionVValiidattor ID=reevEmmaill rrunaat=serrverr CConttrollToVValiidatte=tbEEmaiilDDispplayy=NNonee EErroorMeessaage=電子子郵件格格式不正正確,請請輸入如如下形式式的電子子郵件:mmmmmmnnnn.ccom VaaliddatiionEExprresssionn=w+(-+.w+)*w+(-.w+)*. ww+(-.w+)* 留言言內(nèi)容:驗 證證 碼:&nbbsp;&nnbspp;&nnbspp;&nnbspp;&n
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度旅游景區(qū)專業(yè)保安服務(wù)合同
- 2025年度科技園區(qū)物業(yè)用房移交及創(chuàng)新企業(yè)孵化服務(wù)合同
- 二零二五年度海洋資源開發(fā)合作經(jīng)營分成協(xié)議
- 二零二五年度專業(yè)洗衣保姆雇傭服務(wù)協(xié)議
- 二零二五年度騰訊游戲與體育組織合作舉辦電競賽事合同
- 2025年度火鍋加盟店員工培訓(xùn)及服務(wù)標(biāo)準合同
- 二零二五年度建筑公司勞務(wù)人員工資發(fā)放及調(diào)整協(xié)議
- 2025年度高端制造業(yè)個人廠房租賃協(xié)議
- 烏魯木齊首期場地處理工程施工組織設(shè)計
- 二零二五年度事業(yè)單位員工績效評估合同
- 部編版六年級《道德與法治》下冊教學(xué)計劃及進度表
- 中醫(yī)內(nèi)科臨床診療指南-塵肺病
- DZ∕T 0399-2022 礦山資源儲量管理規(guī)范(正式版)
- 2024年鄂爾多斯市國資產(chǎn)投資控股集團限公司招聘公開引進高層次人才和急需緊缺人才筆試參考題庫(共500題)答案詳解版
- 競賽試卷(試題)-2023-2024學(xué)年六年級下冊數(shù)學(xué)人教版
- 《研學(xué)旅行課程設(shè)計》課件-辨識與研學(xué)旅行場混淆的概念
- 創(chuàng)維電視55寸說明書
- 施工人員安全培訓(xùn)內(nèi)容
- YYT0287-2017標(biāo)準與醫(yī)療器械法規(guī)對照表
- 部編版道德與法治三年級下冊教案全冊
- 《國際市場營銷》課程標(biāo)準
評論
0/150
提交評論