版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 投票管理系統(tǒng)</b></p><p> 二零一二年二月二十五日</p><p><b> 摘 要</b></p><p> 隨著互聯(lián)網(wǎng)的普及,傳統(tǒng)的投票和調(diào)查方式已經(jīng)不能滿足我們的需要;而“網(wǎng)絡(luò)投票系統(tǒng)”除了能夠完成傳統(tǒng)的功能之外,更具有時(shí)效高和范圍廣的優(yōu)點(diǎn),更符合現(xiàn)代社會(huì)的需要。AS
2、P.NET和ASP在外觀上相近,但是本質(zhì)上完全不同。使用ASP.NET制作成的網(wǎng)頁(yè)比ASP擁有了更高的效率,而且它更為我們提供了一個(gè)全新而強(qiáng)大的服務(wù)器控件結(jié)構(gòu)。我對(duì)ASP.NET和ASP進(jìn)行了全面的比較,利用ASP.NET使得對(duì)信息的管理更加及時(shí)、高效,提高了工作效率。并使用ASP.NET設(shè)計(jì)了一個(gè)具有通用性的網(wǎng)上投票系統(tǒng),同時(shí)對(duì)系統(tǒng)的開(kāi)發(fā)原理、系統(tǒng)的功能特點(diǎn)和設(shè)計(jì)方案進(jìn)行了介紹。 目前各種網(wǎng)站的投票調(diào)查模塊,對(duì)于其后臺(tái)數(shù)據(jù)庫(kù)的
3、Web操作過(guò)多采用的是ASP或者PHP技術(shù)結(jié)合的數(shù)據(jù)庫(kù)方法,而本文提出了基于B/S模式的ASP.net技術(shù)并實(shí)現(xiàn)了支持多種數(shù)據(jù)庫(kù)的方案牟其中重點(diǎn)介紹了如何實(shí)現(xiàn)ASP.net連接各種數(shù)據(jù)庫(kù)的Web功能,并對(duì)ASP.net技術(shù)與數(shù)據(jù)庫(kù)連接方式進(jìn)行了介紹、分析,突出了C#平臺(tái)和增強(qiáng)數(shù)據(jù)庫(kù)安全的優(yōu)勢(shì),而且也簡(jiǎn)化了構(gòu)造Web應(yīng)用系統(tǒng)的工作。</p><p> 關(guān)鍵字:C# Asp.net技術(shù) 數(shù)據(jù)庫(kù) 防重投技術(shù)<
4、;/p><p><b> Abstract</b></p><p> With the spread of the Internet, the traditional vote and survey method has can't meet our needs; And "network voting system" in additio
5、n to complete the traditional function besides, more time with high and wide range of advantages, more in line with the need of modern society. Asp.net and ASP similar in appearance, but in essence is completely differen
6、t. Use asp.net make web pages have higher than ASP efficiency, and it is more we provide a new and powerful server control structure. I the ASP.</p><p> At present various Web vote survey module, for the ba
7、ckend database Web operating too much use is ASP or PHP technology in combination with database method, this paper proposes based on B/S model of asp.net technology and implemented the scheme database support for a varie
8、ty of MouJiZhong focus on how to implement the asp.net connection of various database Web function, and the ASP asp.net technology and database connection mode introduction, analysis, focusing on the C# platform and enha
9、nce the</p><p> Keywords:C# asp.net technology to prevent heavy hurl database technology</p><p><b> 目 錄</b></p><p> 摘 要……………………………………………………………………………………I</p>
10、<p> Abstract…………………………………………………………………………………II緒 論……………………………………………………………………………………1</p><p> 第一章 可行性分析 …………………………………………………………………… 2 1.1網(wǎng)站開(kāi)發(fā)背景……………………………………………………………………2 1.2網(wǎng)站可行性分析………………………………
11、…………………………………2 1.3對(duì)網(wǎng)站使用者的分析……………………………………………………………3第二章 需求分析……………………………………………………………………………………4 2.1需求分析…………………………………………………………………………4 </p><p> 2.2需求的設(shè)計(jì)工具…………………………………………………………………3 </p><p>
12、 2.3需要防止重復(fù)投票………………………………………………………………5</p><p> 2.3.1利用Session對(duì)象……………………………………………………… 5</p><p> 2.3.2利用Cookies對(duì)象……………………………………………………… 5</p><p> 2.4 ASP.NET技術(shù)…………………………………………………………
13、…………6</p><p> 第三章 系統(tǒng)的總體設(shè)計(jì) …………………………………………………………………………7</p><p> 3.1 主要設(shè)計(jì)模塊 …………………………………………………………………7</p><p> 3.2投票實(shí)現(xiàn)模塊 …………………………………………………………………8</p><p> 3.3 ASP.
14、NET的數(shù)據(jù)對(duì)象編程………………………………………………………8</p><p> 3.4訪問(wèn)數(shù)據(jù)庫(kù)………………………………………………………………………8</p><p> 第四章 投票系統(tǒng)的詳細(xì)設(shè)計(jì)………………………………………………………… 10 </p><p> 4.1設(shè)計(jì)投票功能的數(shù)據(jù)存儲(chǔ)方式……………………………………………… 10<
15、/p><p> 4.2投票項(xiàng)目管理功能…………………………………………………………… 10</p><p> 4.3投票功能……………………………………………………………………… 14</p><p> 4.4圖像化顯示投票結(jié)果功能…………………………………………………… 15</p><p> 第五章 網(wǎng)站測(cè)試…………………………………
16、……………………………………………… 19</p><p> 5.1投票系統(tǒng)的測(cè)試方法………………………………………………………… 19</p><p> 5.2測(cè)試系統(tǒng)的各個(gè)按鈕的功能………………………………………………… 19總 結(jié)……………………………………………………………………………………20</p><p> 參考文獻(xiàn)……………………………………
17、……………………………………………21</p><p> 致 謝 ………………………………………………………………………………………………22</p><p><b> 緒 論</b></p><p> 網(wǎng)絡(luò)信息的日益豐富,使得人們的生活變得更加多姿多彩?;ヂ?lián)網(wǎng)技術(shù)的不斷發(fā)展和普及,眾多高校,科研機(jī)構(gòu)及個(gè)人從理論與實(shí)踐兩個(gè)方面進(jìn)行了大
18、量的研究與開(kāi)發(fā)工作,涌現(xiàn)出了很多在線投票系統(tǒng),對(duì)學(xué)院、企業(yè)的管理起到了很好的作用。同時(shí),互聯(lián)網(wǎng)的全球覆蓋、交互功能等特性給人們了解一些國(guó)內(nèi)外新聞帶來(lái)更多的方便,借助互聯(lián)網(wǎng)這一現(xiàn)代化的信息溝通渠道,人們可以通過(guò)上網(wǎng)了解一些政治類(lèi)、經(jīng)濟(jì)類(lèi)、娛樂(lè)類(lèi)等等的新聞。除了去關(guān)注了解這些新聞,又如何對(duì)這些新聞表達(dá)自己的一些看法,一些想法呢,這就需要一個(gè)網(wǎng)絡(luò)投票系統(tǒng)來(lái)幫助人們?nèi)ジ玫乇磉_(dá)自己的看法,所以網(wǎng)絡(luò)投票系統(tǒng)已成為人們?nèi)粘I钤诰W(wǎng)絡(luò)上發(fā)表看法的一種
19、方式。但一直以來(lái)人們使用傳統(tǒng)人工的方式來(lái)做調(diào)查問(wèn)卷,這種問(wèn)卷調(diào)查方式存在著許多的缺點(diǎn),如:效率低、更新慢,另外時(shí)間一長(zhǎng),將會(huì)產(chǎn)生大量的文件和數(shù)據(jù),對(duì)文件和數(shù)據(jù)的查找、更新和維護(hù)都帶來(lái)了不少的困難。</p><p> 因此,越來(lái)越多的企業(yè)或者公司開(kāi)始在計(jì)算機(jī)科學(xué)、網(wǎng)絡(luò)工程、軟件工程等相關(guān)開(kāi)始采用“Web程序設(shè)計(jì)”、網(wǎng)路程序設(shè)計(jì)等技術(shù)開(kāi)發(fā)出相應(yīng)的程序,來(lái)實(shí)現(xiàn)自己的需求。</p><p>
20、而網(wǎng)絡(luò)投票系統(tǒng)的開(kāi)發(fā)可以為廣大的用戶(hù)提供一些充足的調(diào)查信息和一些快捷的調(diào)查手段,可以更好的解決人們使用傳統(tǒng)人工的方式來(lái)做調(diào)查問(wèn)卷,也可以改善一些用傳統(tǒng)人工方式帶來(lái)的缺點(diǎn),這樣就有利于用戶(hù)對(duì)數(shù)據(jù)的查找,更新和維護(hù)。在線投票功能是網(wǎng)站應(yīng)用程序最常用的功能之一。當(dāng)網(wǎng)站的管理員或者用戶(hù)提出一些新的想法與建議時(shí),其可能需要通過(guò)用戶(hù)或者客戶(hù)的投票方式來(lái)確定這些新的想法、建議是否滿足用火或者客戶(hù)的需求。另外,網(wǎng)站還可以通過(guò)網(wǎng)站在線投票功能做一些實(shí)際性
21、的調(diào)查工作,如普通的民意測(cè)驗(yàn)等。</p><p> 總之投票系統(tǒng)概括起來(lái)就是要通過(guò)科學(xué)的管理手段和專(zhuān)業(yè)化管理技術(shù)來(lái)實(shí)現(xiàn)統(tǒng)。</p><p><b> 第一章 可行性分析</b></p><p><b> 1.1網(wǎng)站開(kāi)發(fā)背景</b></p><p> 隨著科學(xué)技術(shù)的不斷的提高,計(jì)算機(jī)科學(xué)發(fā)展較
22、為最快之一,奇強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已經(jīng)進(jìn)入人類(lèi)實(shí)惠的各個(gè)領(lǐng)域并發(fā)揮著重要作用。在先進(jìn)的計(jì)算機(jī)技術(shù)、通信技術(shù)、控制技術(shù)的基礎(chǔ)上,采用系統(tǒng)集成方法,逐步建立一個(gè)智能化的投票系統(tǒng)。</p><p> 根據(jù)實(shí)際情況,我們用以少量代價(jià)快速構(gòu)造一個(gè)可執(zhí)行的軟件系統(tǒng)模塊型。我們可以快速的確定需求,然后采用循環(huán)進(jìn)化的開(kāi)發(fā)方式,對(duì)系統(tǒng)模型作連續(xù)的精化,將系統(tǒng)需具備的性質(zhì)逐漸增加上去,知道所有的性質(zhì)全部滿足。</p
23、><p> 1.2網(wǎng)站可行性分析</p><p> 無(wú)論您是做什么工作,您都不可能忽略互聯(lián)網(wǎng)的重要性。優(yōu)秀的網(wǎng)站設(shè)計(jì)必然服務(wù)于用戶(hù)為主題,就是說(shuō),需求什么樣的網(wǎng)站,應(yīng)該有什么樣的設(shè)計(jì)。很多時(shí)候您上網(wǎng)瀏覽一番,您會(huì)驚奇呀的發(fā)現(xiàn)您的競(jìng)爭(zhēng)對(duì)手的“網(wǎng)頁(yè)”早已經(jīng)在Internet上發(fā)布了,搶占了新世紀(jì)的發(fā)展戰(zhàn)略據(jù)點(diǎn),已經(jīng)成功的面向廣大的市場(chǎng)。如果只重視網(wǎng)頁(yè)形式上的條理或者個(gè)人的見(jiàn)解,都將削弱網(wǎng)民主題
24、的最佳需求效果,難以說(shuō)服瀏覽者的注意力。而我建設(shè)一個(gè)投票系統(tǒng)同樣也具有非常重要的價(jià)值,值得研究和開(kāi)發(fā);與客戶(hù)建立最直接的交流機(jī)制。而作為一個(gè)企業(yè)人員對(duì)這些信息了解還不只是表面上的了解,應(yīng)該做了更深入的調(diào)查和研究。而從網(wǎng)上投票系統(tǒng)去要為尋找信息的廣大網(wǎng)友提供最新的可靠消息。另外原有的手工投票管理基本上是人工操作,效率低下,缺乏方便性,在線投票管理系統(tǒng)運(yùn)用計(jì)算機(jī)和其他附加設(shè)備,不再需要手工操作,基本上是全自動(dòng)化,能夠節(jié)省人力、最大限度地利用
25、各種寶貴的資源,大大的提高了效率。</p><p> 1.3 對(duì)網(wǎng)站使用者的分析</p><p> 網(wǎng)站的根本在方便快速的確定事物的方向,所以它的使用對(duì)象并不僅僅企業(yè)公司,還可作為學(xué)校學(xué)生和老師集體的意見(jiàn)。投票系統(tǒng)是我為所有需要大眾意見(jiàn)而設(shè)計(jì)的更具有高效快捷的系統(tǒng)。為了更為精確大眾的意見(jiàn),系統(tǒng)里面實(shí)現(xiàn)了防止重投技術(shù),后臺(tái)管理員對(duì)投票者的審核等,并且采用了端運(yùn)行,傳送到瀏覽器上的Web
26、頁(yè)是在Web服務(wù)器上生成的,返回結(jié)果到瀏覽器,而服務(wù)器端的腳本不易被復(fù)制。所有用戶(hù)不必?fù)?dān)心瀏覽器能否處理腳本。</p><p> 當(dāng)網(wǎng)站管理員或者用戶(hù)提出一些新的想法與建議或安裝出現(xiàn)一種新的產(chǎn)品時(shí),他們可能需要通過(guò)用戶(hù)或者客戶(hù)的投票方式來(lái)確定這些新的想法、建議或者新的產(chǎn)品是否滿足用戶(hù)或者客戶(hù)的需求;另外,網(wǎng)站還可以通過(guò)網(wǎng)站在線投票功能做一些實(shí)際性的調(diào)查工作。隨時(shí)了解時(shí)市場(chǎng)是一個(gè)企業(yè)擁有強(qiáng)大的競(jìng)爭(zhēng)力的必須品,所以
27、在線投票系統(tǒng)可以解決企業(yè)難題,不受地區(qū)限制,不受人手壓力的限制,隨時(shí)了解產(chǎn)品的市場(chǎng)效應(yīng),增強(qiáng)自己的競(jìng)爭(zhēng)力;此系統(tǒng)將以圖形來(lái)顯示系統(tǒng)投票結(jié)果,一目了然的回饋何客戶(hù)的需求信息。</p><p><b> 第二章 需求分析</b></p><p><b> 2.1需求分析</b></p><p> 確定設(shè)計(jì)任務(wù)和目標(biāo),并做
28、好流程圖。系統(tǒng)需求一般分為功能性和非功能性需求兩方面:</p><p> 功能性需求:指的是系統(tǒng)的基本功能,如輸出信息、輸入信息、操作方式等。</p><p> 非需求功能:非功能需求包括系統(tǒng)性能、成本、用戶(hù)需求、資源等因素。</p><p> 2.2需求的設(shè)計(jì)工具</p><p> Microsoft Visual Studio 2
29、005是微軟公司推出的開(kāi)發(fā)環(huán)境。是目前最流行的 Windows 平臺(tái)應(yīng)用程序開(kāi)發(fā)環(huán)境,提供支持整個(gè)軟件開(kāi)發(fā)團(tuán)隊(duì)的工具。為開(kāi)發(fā)人員提供高級(jí)的靜態(tài)分析、代碼剖析、代碼涵蓋以及單元測(cè)試工具,使團(tuán)隊(duì)能夠在整個(gè)生命周期中盡早、頻繁地規(guī)劃質(zhì)量。更好地為測(cè)試人員提供了用于管理和運(yùn)行各種測(cè)試;項(xiàng)目管理人員不再需要手工將數(shù)據(jù)從這些應(yīng)用程序映射到供工程團(tuán)隊(duì)使用的數(shù)據(jù);項(xiàng)目站點(diǎn)提供儀表盤(pán)式的項(xiàng)目狀態(tài)視圖,以及向下追溯風(fēng)險(xiǎn)承擔(dān)者的功能。</p>
30、<p> SQL2005全稱(chēng)是“結(jié)構(gòu)化查詢(xún)語(yǔ)言(Structured Query Language)”。 它是一種數(shù)據(jù)庫(kù)查詢(xún)和程序設(shè)計(jì)語(yǔ)言,用于存取數(shù)據(jù)以及查詢(xún)、更新和管理關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)。</p><p> Access 是微軟公司推出的基于Windows的桌面關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS,即Relational Database Management System),是Office系列應(yīng)用軟件之
31、一。它提供了表、查詢(xún)、窗體、報(bào)表、頁(yè)、宏、模塊7種用來(lái)建立數(shù)據(jù)庫(kù)系統(tǒng)的對(duì)象;提供了多種向?qū)?、生成器、模板,把?shù)據(jù)存儲(chǔ)、數(shù)據(jù)查詢(xún)、界面設(shè)計(jì)、報(bào)表生成等操作規(guī)范化;為建立功能完善的數(shù)據(jù)庫(kù)管理系統(tǒng)提供了方便,也使得普通用戶(hù)不必編寫(xiě)代碼,就可以完成大部分?jǐn)?shù)據(jù)管理的任務(wù)。</p><p> 2.3需要防止重復(fù)投票</p><p> 系統(tǒng)中主要利用Session對(duì)象、Cookies對(duì)象、驗(yàn)證IP和
32、小范圍調(diào)查來(lái)防止投票人根據(jù)自愛(ài)好來(lái)反復(fù)投票,造成投票結(jié)果的不準(zhǔn)確性。</p><p> 2.3.1 利用Session對(duì)象</p><p> Session對(duì)象吧變量保存在服務(wù)器端,但是各個(gè)Session保存的位置不同,因?yàn)镾ession用于單個(gè)用戶(hù)管理信息,所以有多少個(gè)Session對(duì)象就存在多少個(gè)IsVoted變量。使用Session對(duì)象防止重復(fù)投票實(shí)現(xiàn)流程圖如下圖2-1</
33、p><p> 圖2-1 利用Session防止重復(fù)投票流程圖</p><p> 2.3.2利用Cookies</p><p> 可以利用Cookies的有效時(shí)間這個(gè)屬性,設(shè)置隔一定時(shí)間才能再次投票。使用此方法是,將IsVoted變量保存在Cookies中。此方法的實(shí)現(xiàn)流程圖如下圖2-2所示:</p><p> 圖2-2 利用Cookie
34、s防止重復(fù)投票流程圖</p><p> 2.4 ASP.NET技術(shù)</p><p> ASP.NET是建立在 .NET Common Language Run2tiam(CLR)至上的新一代網(wǎng)絡(luò)開(kāi)發(fā)工具,運(yùn)行在服務(wù)器端,用以建立功能強(qiáng)大的Web應(yīng)用。他不是ASP的簡(jiǎn)單升級(jí),它是一個(gè)用于Web開(kāi)發(fā)的全新框架,其中包含了很多新的特性。ASP.NTE提供了更易于編寫(xiě),結(jié)構(gòu)更清的代碼,這些代碼
35、很容易進(jìn)行再利用和共享;ASP.NET使用編譯后的語(yǔ)言,從而提升性能和伸縮性;ASP.NET使用Web表單使開(kāi)發(fā)更直觀,利用面向?qū)ο蠹夹g(shù)促進(jìn)組件的再利用。另外,ASP.NE CLR 提供給我們一個(gè)簡(jiǎn)單的權(quán)限來(lái)使用,對(duì)于操作系統(tǒng)來(lái)時(shí)是生死攸關(guān)的底層服務(wù),如安全、認(rèn)證、系統(tǒng)文件、網(wǎng)絡(luò)信息等、ASP.NET與ASP無(wú)論在程序的性能上,還是編程的基本原理上都有了很大的變化。</p><p> 第三章 系統(tǒng)總體設(shè)計(jì)<
36、;/p><p> 3.1 主要設(shè)計(jì)模塊</p><p> 為了建設(shè)一個(gè)更快確定某事物的決定實(shí)施性,利用網(wǎng)絡(luò)交流平臺(tái)設(shè)計(jì)一個(gè)網(wǎng)絡(luò)投票系統(tǒng)。根據(jù)用戶(hù)的實(shí)際情況,按照網(wǎng)站開(kāi)發(fā)的基本觀點(diǎn)和內(nèi)容需求對(duì)系統(tǒng)進(jìn)行分解,從內(nèi)容上可對(duì)投票系統(tǒng)作如下劃分:輸入、處理、輸出。在輸入里面有投票項(xiàng)目信和選項(xiàng);在處理里面進(jìn)行模式判段系統(tǒng)檢測(cè)和數(shù)據(jù)更新以及防止重投信息;在輸出里面輸出投票結(jié)果。如下圖3-1所示:<
37、/p><p> 圖3-1 投票系統(tǒng)劃分圖</p><p> 用戶(hù)投票的數(shù)據(jù)保存在數(shù)據(jù)庫(kù)中,保存投票項(xiàng)目和被投項(xiàng)目的次數(shù),每投一次票將在數(shù)據(jù)庫(kù)中為所投項(xiàng)目的次數(shù)屬性加1,最終次數(shù)屬性值就是此項(xiàng)目的支持?jǐn)?shù),以圖形化顯示投票結(jié)果,實(shí)現(xiàn)的流程圖如下圖3-2所示。</p><p> 圖3-2 投票系統(tǒng)實(shí)現(xiàn)圖</p><p><b> 投票
38、實(shí)現(xiàn)模塊</b></p><p> 此模塊提供用戶(hù)對(duì)投票項(xiàng)目進(jìn)行投票所用。在投票首頁(yè)上顯示最近一個(gè)投票項(xiàng)目和其他投票列表,用戶(hù)可以自由選擇那些尚未過(guò)期的項(xiàng)目進(jìn)行投票。投票操作具體為:用戶(hù)選擇一個(gè)或者多個(gè)投票選項(xiàng),提交,即可投票成功,此時(shí)頁(yè)面會(huì)跳轉(zhuǎn)至顯示投票結(jié)果頁(yè)面。</p><p> 投票結(jié)果頁(yè)面提供用戶(hù)查看該項(xiàng)目已有的投票情況。投票結(jié)果顯示頁(yè)面會(huì)顯示相應(yīng)的投票選項(xiàng)的特票率
39、哈該項(xiàng)目的總得票數(shù),以圖形化顯示出來(lái)。</p><p> ASP.NET的數(shù)據(jù)對(duì)象編程</p><p> ASP.NET應(yīng)用程序頁(yè)以面為基礎(chǔ)。在開(kāi)發(fā)過(guò)程中,很多情況下會(huì)遇到頁(yè)面之間數(shù)據(jù)共享的問(wèn)題。在ASP.NET中已經(jīng)提供了一些可以持久化頁(yè)面數(shù)據(jù)的對(duì)象,這些對(duì)象包括Session 、Cookies、Application以及ViewState等。如:Cookies是一組保存在客戶(hù)端的數(shù)
40、據(jù)集合。通過(guò)HttpRequest的Cookies 集合訪問(wèn)的集合包含以Cookies標(biāo)頭形式有客戶(hù)端傳輸?shù)椒?wù)器的Cookies。通過(guò)HttpRespones的Cookies集合訪問(wèn)集合包含一些新Cookies,這些Cookie在服務(wù)器上創(chuàng)建并以Set-Cookie標(biāo)頭的形式傳輸?shù)娇蛻?hù)端。</p><p> 在ASP.NET內(nèi)部,除了提供保存數(shù)據(jù)的對(duì)象之外,還提供了數(shù)據(jù)訪問(wèn)的對(duì)象,使用這些對(duì)象可以處理復(fù)雜的W
41、eb請(qǐng)求信息。如:訪問(wèn)Request對(duì)象,通過(guò)此對(duì)象用戶(hù)可以向Web服務(wù)發(fā)送HTTP請(qǐng)求信息。用戶(hù)可以通過(guò)WebService類(lèi)的Context屬性來(lái)訪問(wèn)Request。</p><p><b> 訪問(wèn)數(shù)據(jù)庫(kù)</b></p><p> Access數(shù)據(jù)室一個(gè)小型的數(shù)據(jù)庫(kù),主要應(yīng)用于功能較簡(jiǎn)單的小型系統(tǒng)。Access數(shù)據(jù)庫(kù)具有體積小。容易上手以及便于部署等優(yōu)點(diǎn),在
42、.NET已經(jīng)提供了一些類(lèi)可以方便快捷地訪問(wèn)Access數(shù)據(jù)庫(kù),這些類(lèi)被放在System.Data.OleDb命名空間,所以要引用命名空間在using System.Data.OleDb。</p><p> 使用SQL語(yǔ)句是操作數(shù)據(jù)的主要方法之一。操作數(shù)據(jù)包括寫(xiě)入數(shù)據(jù)、修改數(shù)據(jù)或者更新數(shù)據(jù)和刪除數(shù)據(jù)等。使用SQL語(yǔ)句操作數(shù)據(jù)主要通過(guò)OleDbCommand類(lèi)來(lái)實(shí)現(xiàn),在OleDbCommand的構(gòu)造函數(shù)中友兩個(gè)參數(shù)
43、,第一個(gè)表示操作數(shù)據(jù)的SQLyuj ,第二個(gè)參數(shù)表示OleDbConnection對(duì)象的實(shí)例。</p><p> 第四章 投票系統(tǒng)詳細(xì)設(shè)計(jì)</p><p> 4.1 設(shè)計(jì)投票功能的數(shù)據(jù)存儲(chǔ)方式</p><p> 投票系統(tǒng)的數(shù)據(jù)庫(kù)功能只需要知道投票的項(xiàng)目和被投項(xiàng)目的次數(shù)。為了保證投票項(xiàng)目的唯一性,為其設(shè)計(jì)一個(gè)ID屬性。</p><p>
44、 創(chuàng)建一個(gè)Access數(shù)據(jù)庫(kù)文件,保存在E:\vote.mdb。字段名和類(lèi)型如圖4-1所示:</p><p><b> 圖4-1字段類(lèi)型圖</b></p><p> 4.2 投票項(xiàng)目管理功能</p><p> 投票功能管理項(xiàng)目一般位于網(wǎng)絡(luò)后臺(tái),有專(zhuān)門(mén)的管理員進(jìn)行設(shè)置。設(shè)計(jì)步驟如下:</p><p> 先創(chuàng)建站點(diǎn),
45、命名為“SimpleVote”,.然后在網(wǎng)站的根目錄下添加一個(gè)Web窗體“ItemManager”,最后切換到設(shè)計(jì)視圖,添加控件如下圖4-2所示。其中下拉列表表示數(shù)據(jù)庫(kù)中存儲(chǔ)的待投票項(xiàng)目,Label1控件顯示添加或者刪除完成時(shí)的信息。</p><p><b> 圖4-2管理項(xiàng)目圖</b></p><p> 網(wǎng)站的根目錄下添加一個(gè)類(lèi)“ItemOperation”,用
46、來(lái)實(shí)現(xiàn)項(xiàng)目的添加和刪的方</p><p> 法。實(shí)現(xiàn)功能其代碼如下所示:</p><p> public DataTable LoadVote()</p><p> { DataTable dt = null;</p><p> OleDbConnection conn = new OleDbConnection(CONN_STRIN
47、G);</p><p> OleDbCommand cmd = new OleDbCommand(SQL_DELETE_VOTE ,conn);</p><p> OleDbDataAdapter adp = new OleDbDataAdapter(cmd);</p><p><b> try</b></p><p&
48、gt; {conn.Open();</p><p> DataSet ds = new DataSet();</p><p> adp.Fill(ds);</p><p> dt = ds.Tables[0]; }</p><p><b> catch</b></p><p><b
49、> {//異常處理}</b></p><p><b> finally </b></p><p><b> {//關(guān)閉連接</b></p><p> conn.Close();}</p><p> return dt; }</p><p> pu
50、blic void AddVote(string votename)</p><p> {StringBuilder strSQL =new StringBuilder ();</p><p> OleDbCommand cmd=new OleDbCommand ();</p><p> OleDbParameterparm=newOleDbParameter
51、 (PARM_ITEM_NAME ,OleDbType.VarChar,30);</p><p> parm.Value = votename;</p><p> cmd.Parameters.Add(parm);</p><p> using (OleDbConnection conn = new OleDbConnection(CONN_STRING))&
52、lt;/p><p> {strSQL.Append(SQL_DELETE_VOTE);</p><p> conn.Open();</p><p> cmd.Connection = conn;</p><p> cmd.CommandType = CommandType.Text;</p><p> cmd.C
53、ommandText = strSQL.ToString();</p><p> cmd.ExecuteNonQuery();</p><p> cmd.Parameters.Clear();} }</p><p> public void DelVote(int voteID)</p><p> {StringBuilder Str
54、SQL = new StringBuilder();</p><p> OleDbCommand cmd = new OleDbCommand();</p><p> OleDbParameterparm=new OleDbParameter(PARM_ITEM_ID,OleDbType.Numeric);</p><p> parm.Value = vote
55、ID;</p><p> cmd.Parameters.Add(parm);</p><p> using (OleDbConnection conn = new OleDbConnection(CONN_STRING))</p><p> {StrSQL.Append(SQL_DELETE_VOTE );</p><p> conn
56、.Open();</p><p> cmd.Connection = conn;</p><p> cmd.CommandType = CommandType.Text;</p><p> cmd.CommandText = StrSQL.ToString();</p><p> cmd.ExecuteNonQuery();</
57、p><p> cmd.Parameters.Clear();}}</p><p> 打開(kāi)ItemManager.aspx.cs代碼頁(yè)面,創(chuàng)建LoadData()方法,實(shí)現(xiàn)初始化數(shù)</p><p> 據(jù)并綁定數(shù)據(jù)到下拉列表控件中。代碼如下所示:</p><p> private void LoadData()</p><
58、p> {//初始化項(xiàng)目投票操作類(lèi)</p><p> temOperation io = new ItemOperation();</p><p> DropDownList1.DataSoure = io.LoadVote();</p><p> DropDownList1.DataTextField = "ItemName";&l
59、t;/p><p> DropDownList1.DataValueField = "ItemID";</p><p> DropDownList1.DataBind();}</p><p> 面初始化方法Page_Load()中調(diào)用創(chuàng)建方法LoadData()。代碼如下所示:</p><p> protected vo
60、id Page_Load(object sender, EventArgs e)</p><p> {if (!IsPostBack)</p><p> {LoadData();}}</p><p> 打開(kāi)“ItemManager.aspx”頁(yè)面,雙擊“添加項(xiàng)目”書(shū)寫(xiě)投票項(xiàng)目的添加方法。雙擊“刪除項(xiàng)目”按鈕,添加投票項(xiàng)目的刪除代碼如下所示:將ItemManag
61、er.aspx設(shè)為起始頁(yè),按F5快捷鍵運(yùn)行 程序,測(cè)試投票項(xiàng)目的添加和刪除功能。</p><p><b> 4.3 投票功能</b></p><p> 投票功能原理其實(shí)就是用戶(hù)投票后更新數(shù)據(jù)庫(kù)中的投票項(xiàng)目背投次數(shù)。實(shí)現(xiàn)步驟如下:</p><p> 在“Default.aspx”頁(yè)面中實(shí)現(xiàn)投票功能。打開(kāi)Default.aspx頁(yè)面,切換到設(shè)
62、計(jì)視圖。在試圖中添加控件,如下圖4-3所示。其實(shí),GridView控件使用了模板列“CheckBox”用來(lái)判斷用戶(hù)的選擇。</p><p><b> 圖4-3 數(shù)據(jù)綁定</b></p><p> 打開(kāi)“Default.aspx.cs”頁(yè)面,創(chuàng)建綁定數(shù)據(jù)方法GridView_DataBind(),并在頁(yè)面加載的時(shí)候調(diào)用。</p><p>
63、打開(kāi)“ItemOperation.cs”類(lèi)文件,添加更新項(xiàng)目背投次數(shù)的方法,代碼如下:private const string SQL_UPDATE_VOTE = "UPDATE VoteItem set itemcount=itemcount+1 ItemID=@ItemID";</p><p> public void UpdateVote(int voteID)</p>
64、<p> {StringBuilder strSQL = new StringBuilder();</p><p> OleDbCommand cmd = new OleDbCommand();</p><p> OleDbParameterparm=new OleDbParameter(PARM_ITEM_ID,SqlDbType.Int);</p><
65、;p> parm.Value = voteID;</p><p> cmd.Parameters.Add(parm);</p><p> using (OleDbConnection conn = new OleDbConnection(CONN_STRING))</p><p> { strSQL.Append(SQL_UPDATE_VOTE );&
66、lt;/p><p> conn.Open();</p><p> cmd.Connection = conn;</p><p> cmd.CommandType = CommandType.Text;</p><p> cmd.CommandText = strSQL.ToString();</p><p> c
67、md.ExecuteNonQuery();</p><p> cmd.Parameters.Clear();}}</p><p> 打開(kāi)“Default.aspx”頁(yè)面,雙擊“我要投票”按鈕添加投票方法,代碼如下:</p><p> ItemOperation io = new ItemOperation();</p><p> fo
68、reach(GridViewRow rowview in GridView1.Rows)</p><p> {CheckBoxcheck= (CheckBox)rowview.Cells[2].FindControl("CheckBos1");</p><p> if (check.Checked)</p><p> {io.UpdateV
69、ote(int.Parse(rowview.Cells[0].Text));</p><p> Label1.Text = "謝謝您的投票";}}</p><p> 保存頁(yè)面并將其設(shè)置為起始頁(yè)。按F5快捷鍵運(yùn)行,查看是否能夠正常投票。投票成功后可到數(shù)據(jù)庫(kù)中看字段是否自動(dòng)增加。</p><p> 4.4圖像化顯示投票結(jié)果功能</p>
70、;<p> 用圖像百分比的方式來(lái)顯示投票的進(jìn)度。具體思路根據(jù)投票數(shù)量的多少,通過(guò)設(shè)定圖像的寬度屬性來(lái)顯示圖的一部分。首先網(wǎng)站的根目錄下添加一個(gè)已經(jīng)存在的文件“Vote.bmp”。然后在網(wǎng)站的根目錄下添加一個(gè)Web窗體“ViewVote”。最后在其設(shè)計(jì)視圖中添加控件如下圖4-5所示。</p><p> 圖4-5 百分比顯投票結(jié)果</p><p> 打開(kāi)“ViewVote.
71、aspx.cs”,進(jìn)入代碼設(shè)計(jì)視圖。創(chuàng)建綁定數(shù)據(jù)到控件的方法并在頁(yè)面初始時(shí)調(diào)用。代碼如下:</p><p> protected void Page_Load(object sender, EventArgs e)</p><p> {if (!Page.IsPostBack)</p><p> {GridView_DataBind(); }}</p&g
72、t;<p> private void GridView_DataBind()</p><p> {ItemOperation io = new ItemOperation();</p><p> DataTable dt = io.LoadVote();</p><p> GridView1.DataSource = dt;</p>
73、;<p> GridView1.DataBind();}</p><p> 因?yàn)樵谟?jì)算百分比的時(shí)要用到投票的總數(shù)量,所以在“ItemOperation.cs”中添加獲取總票的方法,代碼如下:</p><p> private const string SQL_SELECT_COUNT = "SELECT SUM(itemcount) FROM VoreItem
74、";</p><p> public int GetVoteCount()</p><p> { int count = 0;</p><p> StringBuilder strSQL = new StringBuilder();</p><p> OleDbCommand cmd = new OleDbCommand()
75、;</p><p> using (OleDbConnection conn = new OleDbConnection(CONN_STRING))</p><p> {strSQL.Append(SQL_SELECT_COUNT);</p><p> conn.Open();</p><p> cmd.Connection = co
76、nn;</p><p> cmd.CommandType = CommandType.Text;</p><p> cmd.CommandText = strSQL.ToString();</p><p> count = int.Parse(cmd.ExecuteScalar().ToString());}</p><p> ret
77、urn count; }</p><p> 打開(kāi)“ViewVote.aspx”,按F7進(jìn)入代碼視圖,添加顯示圖像百分比的兩個(gè)轉(zhuǎn)化方法,代碼如下:</p><p> private int VoteCount;</p><p> protected void Page_Load(object sender, EventArgs e)</p><
78、;p> {if (!Page.IsPostBack)</p><p> {ItemOperation io = new ItemOperation();</p><p> VoteCount = io.GetVoteCount();</p><p> GridView_DataBind();}}</p><p> public
79、 int FormatVoteCount(String itemCount)</p><p> {if (itemCount.Length <= 0)</p><p> { return(0); }</p><p> if (VoteCount > 0)</p><p> {return ((Int32.Parse(ite
80、mCount) * 100 / VoteCount)); }</p><p> return (0); }</p><p> public int FormatVoteImage(int itemCount)</p><p> { return (itemCount * 3); }</p><p> 雙擊“轉(zhuǎn)到投票界面”按鈕,添加頁(yè)面
81、跳轉(zhuǎn)代碼。Response.Redirect("Default.aspx");</p><p> 保存并經(jīng)此頁(yè)設(shè)置為起始頁(yè),按F5快捷鍵運(yùn)行,查看投票結(jié)果。</p><p><b> 第五章 系統(tǒng)測(cè)試</b></p><p> 5.1投票系統(tǒng)的測(cè)試方法</p><p> 將ViewVote.a
82、spx設(shè)置為起始頁(yè),按F5快捷鍵運(yùn)行,在系統(tǒng)里面添加,“支持北京”“支持倫敦”“支持東京”“支持紐約”。對(duì)“支持北京”“支持倫敦”“支持東京”“支持紐約” 個(gè)設(shè)置投票票數(shù),測(cè)試結(jié)果以百分比的形式顯示出來(lái)。結(jié)果顯示如下圖5-1所示:</p><p> 圖5-1 成功顯示投票結(jié)果</p><p> 5.2測(cè)試系統(tǒng)的各個(gè)按鈕的功能</p><p> 單擊“我要投票
83、”測(cè)試能否正在投票,投票提示成功后;查看后臺(tái)數(shù)據(jù)庫(kù)中的記錄有沒(méi)有增加。再單擊一次“我要投票”對(duì)同一個(gè)項(xiàng)目投票進(jìn)行投票,不成功。單擊“查看投票”查看投票結(jié)果,顯示項(xiàng)目票數(shù)和百分比。單擊“轉(zhuǎn)到投票界面”看能否進(jìn)入到投票界面看到所需要被投票的項(xiàng)目。</p><p><b> 總 結(jié)</b></p><p> 經(jīng)過(guò)不懈的努力和指導(dǎo)老師的幫助,以及同學(xué)的幫助充分利用了大學(xué)所
84、學(xué)習(xí)的專(zhuān)業(yè)知識(shí)以及大量閱讀參考文獻(xiàn)尋找資料,終于完成了本次的畢業(yè)設(shè)計(jì)。實(shí)現(xiàn)了簡(jiǎn)單的投票系統(tǒng)功能。大部分的網(wǎng)絡(luò)調(diào)查都是為了某一目的的決策做參考,如果用戶(hù)根據(jù)自己的愛(ài)好反復(fù)投票,就會(huì)導(dǎo)致投票結(jié)果的不準(zhǔn)確性。為了防止用戶(hù)重復(fù)投票,保障投票結(jié)果的準(zhǔn)確率,從ASP 代碼中就總結(jié)出來(lái)4種方法: 利用Session對(duì)象、利用Cookies對(duì)象、驗(yàn)證IP和小范圍調(diào)查。</p><p> 本系統(tǒng)使用的是ACCESS數(shù)據(jù)庫(kù),而AC
85、CESS是小型數(shù)據(jù)庫(kù)管理系統(tǒng),它對(duì)并發(fā)操作性的控制和數(shù)據(jù)庫(kù)的安全性方面遠(yuǎn)沒(méi)有SQL強(qiáng)大,所以適合較小的系統(tǒng),用于本次畢業(yè)設(shè)計(jì)也比較合適。而本次通票管理系統(tǒng)基本滿足了用戶(hù)需求,性能基達(dá)到要求,具有可用性和友好性。</p><p> 當(dāng)然在這次實(shí)踐中我只是一個(gè)初學(xué)者。對(duì)于許多專(zhuān)業(yè)知識(shí)的認(rèn)識(shí)還很初淺。通過(guò)本次的畢業(yè)設(shè)計(jì)我學(xué)會(huì)了如何去了解新技術(shù)。以及軟件開(kāi)發(fā)的基本流程。更懂得團(tuán)隊(duì)的重要性。在今后的學(xué)習(xí)過(guò)程中,我會(huì)更加腳
86、踏實(shí)地的學(xué)習(xí)。虛心向同學(xué)或者同事們請(qǐng)教,努力做出更好的作品。</p><p><b> 參考文獻(xiàn)</b></p><p> 【1】.《Web程序設(shè)計(jì)—ASP.NET》 人民郵電出版社 2008年12月第1版.主編:韓海文 呂輝 張廠新 宋佳 </p><p> 【2】. 《C# 程序設(shè)計(jì)—windows項(xiàng)目開(kāi)發(fā)》清華大學(xué)出版社 2008年
87、8月第1版.主編:邵順曾 李林</p><p> 【3】. 《數(shù)據(jù)庫(kù)原理及其應(yīng)用(Access)》(第2版)清華大學(xué)出版社.2006年8月.主編: 姚普選</p><p> 【4】.《ASP.NET網(wǎng)頁(yè)制作教程—從基本語(yǔ)法學(xué)起》.武漢:華中科技大學(xué)出版社(第二版)2004年:第一版.主編:王國(guó)榮.</p><p> 【5】.《T-SQL編程入門(mén)經(jīng)典》 清華大學(xué)
88、出版社.主編:(美)Paul Turley.Dan Wood 吳偉平(譯)</p><p> 【6】.《ASP 編程技巧》 機(jī)械工業(yè)出版社 2004年5月第1版.主編:朱紅 司光亞</p><p> 【7】.《數(shù)據(jù)庫(kù)系統(tǒng)概論》 高等教育出版社 2002年.主編:常軍林 魏功 </p><p> 【8】.《C#.NET程序設(shè)計(jì)》清華大學(xué)出版社 2005年.
89、主編:Julia Case.Anita C.Maillspaugh</p><p><b> 致謝</b></p><p> 通過(guò)這次簡(jiǎn)單網(wǎng)絡(luò)投票系統(tǒng)設(shè)計(jì),使我曾加了很多的知識(shí),也掌握了很多ASP.NET設(shè)計(jì)的操作技巧,提高了編程技術(shù),盡管這樣我仍有很多不足之處,但我會(huì)永遠(yuǎn)改良和增進(jìn)自己的不足,而且也加深我多編程的興趣和愛(ài)好。這次畢業(yè)設(shè)計(jì)過(guò)程中,得到了很多的網(wǎng)絡(luò)設(shè)
90、計(jì)朋友和同學(xué)的幫助,尤其是老師的指點(diǎn),特別市席奇老師的幫助,才得以完成,他們給我提供了很有關(guān)投票系統(tǒng)的的書(shū)和材料,并抽出時(shí)間幫我修改與糾正,在此表示衷心的感謝。</p><p> 在此我還感謝我的母?!獂x學(xué)校,以及在大學(xué)三年的生活中給予我關(guān)心和幫助我的老師和同學(xué),使他們陪伴著我以前度過(guò)難關(guān)。通過(guò)這次畢業(yè)設(shè)計(jì),他們不僅提升了我專(zhuān)業(yè)知識(shí)水平,更教會(huì)了更重要的是要有整體把握系統(tǒng)設(shè)計(jì)的能力。我會(huì)一直奮斗,為母校爭(zhēng)光
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文——在線投票系統(tǒng)
- 畢業(yè)論文——在線投票系統(tǒng)
- 畢業(yè)論文——在線投票系統(tǒng)
- 累積投票制度研究【畢業(yè)論文】
- 畢業(yè)論文——在線投票系統(tǒng) (2)
- 畢業(yè)論文——在線投票系統(tǒng) (2)
- 網(wǎng)站投票系統(tǒng)-本科畢業(yè)論文
- 畢業(yè)論文---無(wú)線投票器的設(shè)計(jì)
- 畢業(yè)論文——asp網(wǎng)上投票系統(tǒng)設(shè)計(jì)
- 畢業(yè)論文范文——企業(yè)電子投票系統(tǒng)
- 畢業(yè)論文范文——企業(yè)電子投票系統(tǒng)
- 畢業(yè)論文范文——企業(yè)電子投票系統(tǒng)論文
- 畢業(yè)論文范文——企業(yè)電子投票系統(tǒng)論文
- 畢業(yè)論文---網(wǎng)上投票系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)論文---網(wǎng)絡(luò)投票管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)論文——畢業(yè)論文管理系統(tǒng)
- 微信投票平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)-南通大學(xué)畢業(yè)論文
- 畢業(yè)論文——畢業(yè)論文管理系統(tǒng) (2)
- 畢業(yè)論文——畢業(yè)論文管理系統(tǒng) (2)
- 畢業(yè)論文——畢業(yè)論文管理系統(tǒng) (2)
評(píng)論
0/150
提交評(píng)論