版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
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)的功能之外,更具有時效高和范圍廣的優(yōu)點,更符合現(xiàn)代社會的需要。AS
2、P.NET和ASP在外觀上相近,但是本質(zhì)上完全不同。使用ASP.NET制作成的網(wǎng)頁比ASP擁有了更高的效率,而且它更為我們提供了一個全新而強大的服務(wù)器控件結(jié)構(gòu)。我對ASP.NET和ASP進行了全面的比較,利用ASP.NET使得對信息的管理更加及時、高效,提高了工作效率。并使用ASP.NET設(shè)計了一個具有通用性的網(wǎng)上投票系統(tǒng),同時對系統(tǒng)的開發(fā)原理、系統(tǒng)的功能特點和設(shè)計方案進行了介紹。 目前各種網(wǎng)站的投票調(diào)查模塊,對于其后臺數(shù)據(jù)庫的
3、Web操作過多采用的是ASP或者PHP技術(shù)結(jié)合的數(shù)據(jù)庫方法,而本文提出了基于B/S模式的ASP.net技術(shù)并實現(xiàn)了支持多種數(shù)據(jù)庫的方案牟其中重點介紹了如何實現(xiàn)ASP.net連接各種數(shù)據(jù)庫的Web功能,并對ASP.net技術(shù)與數(shù)據(jù)庫連接方式進行了介紹、分析,突出了C#平臺和增強數(shù)據(jù)庫安全的優(yōu)勢,而且也簡化了構(gòu)造Web應(yīng)用系統(tǒng)的工作。</p><p> 關(guān)鍵字:C# Asp.net技術(shù) 數(shù)據(jù)庫 防重投技術(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)站開發(fā)背景……………………………………………………………………2 1.2網(wǎng)站可行性分析………………………………
11、…………………………………2 1.3對網(wǎng)站使用者的分析……………………………………………………………3第二章 需求分析……………………………………………………………………………………4 2.1需求分析…………………………………………………………………………4 </p><p> 2.2需求的設(shè)計工具…………………………………………………………………3 </p><p>
12、 2.3需要防止重復(fù)投票………………………………………………………………5</p><p> 2.3.1利用Session對象……………………………………………………… 5</p><p> 2.3.2利用Cookies對象……………………………………………………… 5</p><p> 2.4 ASP.NET技術(shù)…………………………………………………………
13、…………6</p><p> 第三章 系統(tǒng)的總體設(shè)計 …………………………………………………………………………7</p><p> 3.1 主要設(shè)計模塊 …………………………………………………………………7</p><p> 3.2投票實現(xiàn)模塊 …………………………………………………………………8</p><p> 3.3 ASP.
14、NET的數(shù)據(jù)對象編程………………………………………………………8</p><p> 3.4訪問數(shù)據(jù)庫………………………………………………………………………8</p><p> 第四章 投票系統(tǒng)的詳細設(shè)計………………………………………………………… 10 </p><p> 4.1設(shè)計投票功能的數(shù)據(jù)存儲方式……………………………………………… 10<
15、/p><p> 4.2投票項目管理功能…………………………………………………………… 10</p><p> 4.3投票功能……………………………………………………………………… 14</p><p> 4.4圖像化顯示投票結(jié)果功能…………………………………………………… 15</p><p> 第五章 網(wǎng)站測試…………………………………
16、……………………………………………… 19</p><p> 5.1投票系統(tǒng)的測試方法………………………………………………………… 19</p><p> 5.2測試系統(tǒng)的各個按鈕的功能………………………………………………… 19總 結(jié)……………………………………………………………………………………20</p><p> 參考文獻……………………………………
17、……………………………………………21</p><p> 致 謝 ………………………………………………………………………………………………22</p><p><b> 緒 論</b></p><p> 網(wǎng)絡(luò)信息的日益豐富,使得人們的生活變得更加多姿多彩?;ヂ?lián)網(wǎng)技術(shù)的不斷發(fā)展和普及,眾多高校,科研機構(gòu)及個人從理論與實踐兩個方面進行了大
18、量的研究與開發(fā)工作,涌現(xiàn)出了很多在線投票系統(tǒng),對學(xué)院、企業(yè)的管理起到了很好的作用。同時,互聯(lián)網(wǎng)的全球覆蓋、交互功能等特性給人們了解一些國內(nèi)外新聞帶來更多的方便,借助互聯(lián)網(wǎng)這一現(xiàn)代化的信息溝通渠道,人們可以通過上網(wǎng)了解一些政治類、經(jīng)濟類、娛樂類等等的新聞。除了去關(guān)注了解這些新聞,又如何對這些新聞表達自己的一些看法,一些想法呢,這就需要一個網(wǎng)絡(luò)投票系統(tǒng)來幫助人們?nèi)ジ玫乇磉_自己的看法,所以網(wǎng)絡(luò)投票系統(tǒng)已成為人們?nèi)粘I钤诰W(wǎng)絡(luò)上發(fā)表看法的一種
19、方式。但一直以來人們使用傳統(tǒng)人工的方式來做調(diào)查問卷,這種問卷調(diào)查方式存在著許多的缺點,如:效率低、更新慢,另外時間一長,將會產(chǎn)生大量的文件和數(shù)據(jù),對文件和數(shù)據(jù)的查找、更新和維護都帶來了不少的困難。</p><p> 因此,越來越多的企業(yè)或者公司開始在計算機科學(xué)、網(wǎng)絡(luò)工程、軟件工程等相關(guān)開始采用“Web程序設(shè)計”、網(wǎng)路程序設(shè)計等技術(shù)開發(fā)出相應(yīng)的程序,來實現(xiàn)自己的需求。</p><p>
20、而網(wǎng)絡(luò)投票系統(tǒng)的開發(fā)可以為廣大的用戶提供一些充足的調(diào)查信息和一些快捷的調(diào)查手段,可以更好的解決人們使用傳統(tǒng)人工的方式來做調(diào)查問卷,也可以改善一些用傳統(tǒng)人工方式帶來的缺點,這樣就有利于用戶對數(shù)據(jù)的查找,更新和維護。在線投票功能是網(wǎng)站應(yīng)用程序最常用的功能之一。當網(wǎng)站的管理員或者用戶提出一些新的想法與建議時,其可能需要通過用戶或者客戶的投票方式來確定這些新的想法、建議是否滿足用火或者客戶的需求。另外,網(wǎng)站還可以通過網(wǎng)站在線投票功能做一些實際性
21、的調(diào)查工作,如普通的民意測驗等。</p><p> 總之投票系統(tǒng)概括起來就是要通過科學(xué)的管理手段和專業(yè)化管理技術(shù)來實現(xiàn)統(tǒng)。</p><p><b> 第一章 可行性分析</b></p><p><b> 1.1網(wǎng)站開發(fā)背景</b></p><p> 隨著科學(xué)技術(shù)的不斷的提高,計算機科學(xué)發(fā)展較
22、為最快之一,奇強大的功能已為人們深刻認識,它已經(jīng)進入人類實惠的各個領(lǐng)域并發(fā)揮著重要作用。在先進的計算機技術(shù)、通信技術(shù)、控制技術(shù)的基礎(chǔ)上,采用系統(tǒng)集成方法,逐步建立一個智能化的投票系統(tǒng)。</p><p> 根據(jù)實際情況,我們用以少量代價快速構(gòu)造一個可執(zhí)行的軟件系統(tǒng)模塊型。我們可以快速的確定需求,然后采用循環(huán)進化的開發(fā)方式,對系統(tǒng)模型作連續(xù)的精化,將系統(tǒng)需具備的性質(zhì)逐漸增加上去,知道所有的性質(zhì)全部滿足。</p
23、><p> 1.2網(wǎng)站可行性分析</p><p> 無論您是做什么工作,您都不可能忽略互聯(lián)網(wǎng)的重要性。優(yōu)秀的網(wǎng)站設(shè)計必然服務(wù)于用戶為主題,就是說,需求什么樣的網(wǎng)站,應(yīng)該有什么樣的設(shè)計。很多時候您上網(wǎng)瀏覽一番,您會驚奇呀的發(fā)現(xiàn)您的競爭對手的“網(wǎng)頁”早已經(jīng)在Internet上發(fā)布了,搶占了新世紀的發(fā)展戰(zhàn)略據(jù)點,已經(jīng)成功的面向廣大的市場。如果只重視網(wǎng)頁形式上的條理或者個人的見解,都將削弱網(wǎng)民主題
24、的最佳需求效果,難以說服瀏覽者的注意力。而我建設(shè)一個投票系統(tǒng)同樣也具有非常重要的價值,值得研究和開發(fā);與客戶建立最直接的交流機制。而作為一個企業(yè)人員對這些信息了解還不只是表面上的了解,應(yīng)該做了更深入的調(diào)查和研究。而從網(wǎng)上投票系統(tǒng)去要為尋找信息的廣大網(wǎng)友提供最新的可靠消息。另外原有的手工投票管理基本上是人工操作,效率低下,缺乏方便性,在線投票管理系統(tǒng)運用計算機和其他附加設(shè)備,不再需要手工操作,基本上是全自動化,能夠節(jié)省人力、最大限度地利用
25、各種寶貴的資源,大大的提高了效率。</p><p> 1.3 對網(wǎng)站使用者的分析</p><p> 網(wǎng)站的根本在方便快速的確定事物的方向,所以它的使用對象并不僅僅企業(yè)公司,還可作為學(xué)校學(xué)生和老師集體的意見。投票系統(tǒng)是我為所有需要大眾意見而設(shè)計的更具有高效快捷的系統(tǒng)。為了更為精確大眾的意見,系統(tǒng)里面實現(xiàn)了防止重投技術(shù),后臺管理員對投票者的審核等,并且采用了端運行,傳送到瀏覽器上的Web
26、頁是在Web服務(wù)器上生成的,返回結(jié)果到瀏覽器,而服務(wù)器端的腳本不易被復(fù)制。所有用戶不必擔心瀏覽器能否處理腳本。</p><p> 當網(wǎng)站管理員或者用戶提出一些新的想法與建議或安裝出現(xiàn)一種新的產(chǎn)品時,他們可能需要通過用戶或者客戶的投票方式來確定這些新的想法、建議或者新的產(chǎn)品是否滿足用戶或者客戶的需求;另外,網(wǎng)站還可以通過網(wǎng)站在線投票功能做一些實際性的調(diào)查工作。隨時了解時市場是一個企業(yè)擁有強大的競爭力的必須品,所以
27、在線投票系統(tǒng)可以解決企業(yè)難題,不受地區(qū)限制,不受人手壓力的限制,隨時了解產(chǎn)品的市場效應(yīng),增強自己的競爭力;此系統(tǒng)將以圖形來顯示系統(tǒng)投票結(jié)果,一目了然的回饋何客戶的需求信息。</p><p><b> 第二章 需求分析</b></p><p><b> 2.1需求分析</b></p><p> 確定設(shè)計任務(wù)和目標,并做
28、好流程圖。系統(tǒng)需求一般分為功能性和非功能性需求兩方面:</p><p> 功能性需求:指的是系統(tǒng)的基本功能,如輸出信息、輸入信息、操作方式等。</p><p> 非需求功能:非功能需求包括系統(tǒng)性能、成本、用戶需求、資源等因素。</p><p> 2.2需求的設(shè)計工具</p><p> Microsoft Visual Studio 2
29、005是微軟公司推出的開發(fā)環(huán)境。是目前最流行的 Windows 平臺應(yīng)用程序開發(fā)環(huán)境,提供支持整個軟件開發(fā)團隊的工具。為開發(fā)人員提供高級的靜態(tài)分析、代碼剖析、代碼涵蓋以及單元測試工具,使團隊能夠在整個生命周期中盡早、頻繁地規(guī)劃質(zhì)量。更好地為測試人員提供了用于管理和運行各種測試;項目管理人員不再需要手工將數(shù)據(jù)從這些應(yīng)用程序映射到供工程團隊使用的數(shù)據(jù);項目站點提供儀表盤式的項目狀態(tài)視圖,以及向下追溯風險承擔者的功能。</p>
30、<p> SQL2005全稱是“結(jié)構(gòu)化查詢語言(Structured Query Language)”。 它是一種數(shù)據(jù)庫查詢和程序設(shè)計語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng)。</p><p> Access 是微軟公司推出的基于Windows的桌面關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS,即Relational Database Management System),是Office系列應(yīng)用軟件之
31、一。它提供了表、查詢、窗體、報表、頁、宏、模塊7種用來建立數(shù)據(jù)庫系統(tǒng)的對象;提供了多種向?qū)?、生成器、模板,把?shù)據(jù)存儲、數(shù)據(jù)查詢、界面設(shè)計、報表生成等操作規(guī)范化;為建立功能完善的數(shù)據(jù)庫管理系統(tǒng)提供了方便,也使得普通用戶不必編寫代碼,就可以完成大部分數(shù)據(jù)管理的任務(wù)。</p><p> 2.3需要防止重復(fù)投票</p><p> 系統(tǒng)中主要利用Session對象、Cookies對象、驗證IP和
32、小范圍調(diào)查來防止投票人根據(jù)自愛好來反復(fù)投票,造成投票結(jié)果的不準確性。</p><p> 2.3.1 利用Session對象</p><p> Session對象吧變量保存在服務(wù)器端,但是各個Session保存的位置不同,因為Session用于單個用戶管理信息,所以有多少個Session對象就存在多少個IsVoted變量。使用Session對象防止重復(fù)投票實現(xiàn)流程圖如下圖2-1</
33、p><p> 圖2-1 利用Session防止重復(fù)投票流程圖</p><p> 2.3.2利用Cookies</p><p> 可以利用Cookies的有效時間這個屬性,設(shè)置隔一定時間才能再次投票。使用此方法是,將IsVoted變量保存在Cookies中。此方法的實現(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ò)開發(fā)工具,運行在服務(wù)器端,用以建立功能強大的Web應(yīng)用。他不是ASP的簡單升級,它是一個用于Web開發(fā)的全新框架,其中包含了很多新的特性。ASP.NTE提供了更易于編寫,結(jié)構(gòu)更清的代碼,這些代碼
35、很容易進行再利用和共享;ASP.NET使用編譯后的語言,從而提升性能和伸縮性;ASP.NET使用Web表單使開發(fā)更直觀,利用面向?qū)ο蠹夹g(shù)促進組件的再利用。另外,ASP.NE CLR 提供給我們一個簡單的權(quán)限來使用,對于操作系統(tǒng)來時是生死攸關(guān)的底層服務(wù),如安全、認證、系統(tǒng)文件、網(wǎng)絡(luò)信息等、ASP.NET與ASP無論在程序的性能上,還是編程的基本原理上都有了很大的變化。</p><p> 第三章 系統(tǒng)總體設(shè)計<
36、;/p><p> 3.1 主要設(shè)計模塊</p><p> 為了建設(shè)一個更快確定某事物的決定實施性,利用網(wǎng)絡(luò)交流平臺設(shè)計一個網(wǎng)絡(luò)投票系統(tǒng)。根據(jù)用戶的實際情況,按照網(wǎng)站開發(fā)的基本觀點和內(nèi)容需求對系統(tǒng)進行分解,從內(nèi)容上可對投票系統(tǒng)作如下劃分:輸入、處理、輸出。在輸入里面有投票項目信和選項;在處理里面進行模式判段系統(tǒng)檢測和數(shù)據(jù)更新以及防止重投信息;在輸出里面輸出投票結(jié)果。如下圖3-1所示:<
37、/p><p> 圖3-1 投票系統(tǒng)劃分圖</p><p> 用戶投票的數(shù)據(jù)保存在數(shù)據(jù)庫中,保存投票項目和被投項目的次數(shù),每投一次票將在數(shù)據(jù)庫中為所投項目的次數(shù)屬性加1,最終次數(shù)屬性值就是此項目的支持數(shù),以圖形化顯示投票結(jié)果,實現(xiàn)的流程圖如下圖3-2所示。</p><p> 圖3-2 投票系統(tǒng)實現(xiàn)圖</p><p><b> 投票
38、實現(xiàn)模塊</b></p><p> 此模塊提供用戶對投票項目進行投票所用。在投票首頁上顯示最近一個投票項目和其他投票列表,用戶可以自由選擇那些尚未過期的項目進行投票。投票操作具體為:用戶選擇一個或者多個投票選項,提交,即可投票成功,此時頁面會跳轉(zhuǎn)至顯示投票結(jié)果頁面。</p><p> 投票結(jié)果頁面提供用戶查看該項目已有的投票情況。投票結(jié)果顯示頁面會顯示相應(yīng)的投票選項的特票率
39、哈該項目的總得票數(shù),以圖形化顯示出來。</p><p> ASP.NET的數(shù)據(jù)對象編程</p><p> ASP.NET應(yīng)用程序頁以面為基礎(chǔ)。在開發(fā)過程中,很多情況下會遇到頁面之間數(shù)據(jù)共享的問題。在ASP.NET中已經(jīng)提供了一些可以持久化頁面數(shù)據(jù)的對象,這些對象包括Session 、Cookies、Application以及ViewState等。如:Cookies是一組保存在客戶端的數(shù)
40、據(jù)集合。通過HttpRequest的Cookies 集合訪問的集合包含以Cookies標頭形式有客戶端傳輸?shù)椒?wù)器的Cookies。通過HttpRespones的Cookies集合訪問集合包含一些新Cookies,這些Cookie在服務(wù)器上創(chuàng)建并以Set-Cookie標頭的形式傳輸?shù)娇蛻舳恕?lt;/p><p> 在ASP.NET內(nèi)部,除了提供保存數(shù)據(jù)的對象之外,還提供了數(shù)據(jù)訪問的對象,使用這些對象可以處理復(fù)雜的W
41、eb請求信息。如:訪問Request對象,通過此對象用戶可以向Web服務(wù)發(fā)送HTTP請求信息。用戶可以通過WebService類的Context屬性來訪問Request。</p><p><b> 訪問數(shù)據(jù)庫</b></p><p> Access數(shù)據(jù)室一個小型的數(shù)據(jù)庫,主要應(yīng)用于功能較簡單的小型系統(tǒng)。Access數(shù)據(jù)庫具有體積小。容易上手以及便于部署等優(yōu)點,在
42、.NET已經(jīng)提供了一些類可以方便快捷地訪問Access數(shù)據(jù)庫,這些類被放在System.Data.OleDb命名空間,所以要引用命名空間在using System.Data.OleDb。</p><p> 使用SQL語句是操作數(shù)據(jù)的主要方法之一。操作數(shù)據(jù)包括寫入數(shù)據(jù)、修改數(shù)據(jù)或者更新數(shù)據(jù)和刪除數(shù)據(jù)等。使用SQL語句操作數(shù)據(jù)主要通過OleDbCommand類來實現(xiàn),在OleDbCommand的構(gòu)造函數(shù)中友兩個參數(shù)
43、,第一個表示操作數(shù)據(jù)的SQLyuj ,第二個參數(shù)表示OleDbConnection對象的實例。</p><p> 第四章 投票系統(tǒng)詳細設(shè)計</p><p> 4.1 設(shè)計投票功能的數(shù)據(jù)存儲方式</p><p> 投票系統(tǒng)的數(shù)據(jù)庫功能只需要知道投票的項目和被投項目的次數(shù)。為了保證投票項目的唯一性,為其設(shè)計一個ID屬性。</p><p>
44、 創(chuàng)建一個Access數(shù)據(jù)庫文件,保存在E:\vote.mdb。字段名和類型如圖4-1所示:</p><p><b> 圖4-1字段類型圖</b></p><p> 4.2 投票項目管理功能</p><p> 投票功能管理項目一般位于網(wǎng)絡(luò)后臺,有專門的管理員進行設(shè)置。設(shè)計步驟如下:</p><p> 先創(chuàng)建站點,
45、命名為“SimpleVote”,.然后在網(wǎng)站的根目錄下添加一個Web窗體“ItemManager”,最后切換到設(shè)計視圖,添加控件如下圖4-2所示。其中下拉列表表示數(shù)據(jù)庫中存儲的待投票項目,Label1控件顯示添加或者刪除完成時的信息。</p><p><b> 圖4-2管理項目圖</b></p><p> 網(wǎng)站的根目錄下添加一個類“ItemOperation”,用
46、來實現(xiàn)項目的添加和刪的方</p><p> 法。實現(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> 打開ItemManager.aspx.cs代碼頁面,創(chuàng)建LoadData()方法,實現(xiàn)初始化數(shù)</p><p> 據(jù)并綁定數(shù)據(jù)到下拉列表控件中。代碼如下所示:</p><p> private void LoadData()</p><
58、p> {//初始化項目投票操作類</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> 打開“ItemManager.aspx”頁面,雙擊“添加項目”書寫投票項目的添加方法。雙擊“刪除項目”按鈕,添加投票項目的刪除代碼如下所示:將ItemManag
61、er.aspx設(shè)為起始頁,按F5快捷鍵運行 程序,測試投票項目的添加和刪除功能。</p><p><b> 4.3 投票功能</b></p><p> 投票功能原理其實就是用戶投票后更新數(shù)據(jù)庫中的投票項目背投次數(shù)。實現(xiàn)步驟如下:</p><p> 在“Default.aspx”頁面中實現(xiàn)投票功能。打開Default.aspx頁面,切換到設(shè)
62、計視圖。在試圖中添加控件,如下圖4-3所示。其實,GridView控件使用了模板列“CheckBox”用來判斷用戶的選擇。</p><p><b> 圖4-3 數(shù)據(jù)綁定</b></p><p> 打開“Default.aspx.cs”頁面,創(chuàng)建綁定數(shù)據(jù)方法GridView_DataBind(),并在頁面加載的時候調(diào)用。</p><p>
63、打開“ItemOperation.cs”類文件,添加更新項目背投次數(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> 打開“Default.aspx”頁面,雙擊“我要投票”按鈕添加投票方法,代碼如下:</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> 保存頁面并將其設(shè)置為起始頁。按F5快捷鍵運行,查看是否能夠正常投票。投票成功后可到數(shù)據(jù)庫中看字段是否自動增加。</p><p> 4.4圖像化顯示投票結(jié)果功能</p>
70、;<p> 用圖像百分比的方式來顯示投票的進度。具體思路根據(jù)投票數(shù)量的多少,通過設(shè)定圖像的寬度屬性來顯示圖的一部分。首先網(wǎng)站的根目錄下添加一個已經(jīng)存在的文件“Vote.bmp”。然后在網(wǎng)站的根目錄下添加一個Web窗體“ViewVote”。最后在其設(shè)計視圖中添加控件如下圖4-5所示。</p><p> 圖4-5 百分比顯投票結(jié)果</p><p> 打開“ViewVote.
71、aspx.cs”,進入代碼設(shè)計視圖。創(chuàng)建綁定數(shù)據(jù)到控件的方法并在頁面初始時調(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> 因為在計算百分比的時要用到投票的總數(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> 打開“ViewVote.aspx”,按F7進入代碼視圖,添加顯示圖像百分比的兩個轉(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)到投票界面”按鈕,添加頁面
81、跳轉(zhuǎn)代碼。Response.Redirect("Default.aspx");</p><p> 保存并經(jīng)此頁設(shè)置為起始頁,按F5快捷鍵運行,查看投票結(jié)果。</p><p><b> 第五章 系統(tǒng)測試</b></p><p> 5.1投票系統(tǒng)的測試方法</p><p> 將ViewVote.a
82、spx設(shè)置為起始頁,按F5快捷鍵運行,在系統(tǒng)里面添加,“支持北京”“支持倫敦”“支持東京”“支持紐約”。對“支持北京”“支持倫敦”“支持東京”“支持紐約” 個設(shè)置投票票數(shù),測試結(jié)果以百分比的形式顯示出來。結(jié)果顯示如下圖5-1所示:</p><p> 圖5-1 成功顯示投票結(jié)果</p><p> 5.2測試系統(tǒng)的各個按鈕的功能</p><p> 單擊“我要投票
83、”測試能否正在投票,投票提示成功后;查看后臺數(shù)據(jù)庫中的記錄有沒有增加。再單擊一次“我要投票”對同一個項目投票進行投票,不成功。單擊“查看投票”查看投票結(jié)果,顯示項目票數(shù)和百分比。單擊“轉(zhuǎn)到投票界面”看能否進入到投票界面看到所需要被投票的項目。</p><p><b> 總 結(jié)</b></p><p> 經(jīng)過不懈的努力和指導(dǎo)老師的幫助,以及同學(xué)的幫助充分利用了大學(xué)所
84、學(xué)習(xí)的專業(yè)知識以及大量閱讀參考文獻尋找資料,終于完成了本次的畢業(yè)設(shè)計。實現(xiàn)了簡單的投票系統(tǒng)功能。大部分的網(wǎng)絡(luò)調(diào)查都是為了某一目的的決策做參考,如果用戶根據(jù)自己的愛好反復(fù)投票,就會導(dǎo)致投票結(jié)果的不準確性。為了防止用戶重復(fù)投票,保障投票結(jié)果的準確率,從ASP 代碼中就總結(jié)出來4種方法: 利用Session對象、利用Cookies對象、驗證IP和小范圍調(diào)查。</p><p> 本系統(tǒng)使用的是ACCESS數(shù)據(jù)庫,而AC
85、CESS是小型數(shù)據(jù)庫管理系統(tǒng),它對并發(fā)操作性的控制和數(shù)據(jù)庫的安全性方面遠沒有SQL強大,所以適合較小的系統(tǒng),用于本次畢業(yè)設(shè)計也比較合適。而本次通票管理系統(tǒng)基本滿足了用戶需求,性能基達到要求,具有可用性和友好性。</p><p> 當然在這次實踐中我只是一個初學(xué)者。對于許多專業(yè)知識的認識還很初淺。通過本次的畢業(yè)設(shè)計我學(xué)會了如何去了解新技術(shù)。以及軟件開發(fā)的基本流程。更懂得團隊的重要性。在今后的學(xué)習(xí)過程中,我會更加腳
86、踏實地的學(xué)習(xí)。虛心向同學(xué)或者同事們請教,努力做出更好的作品。</p><p><b> 參考文獻</b></p><p> 【1】.《Web程序設(shè)計—ASP.NET》 人民郵電出版社 2008年12月第1版.主編:韓海文 呂輝 張廠新 宋佳 </p><p> 【2】. 《C# 程序設(shè)計—windows項目開發(fā)》清華大學(xué)出版社 2008年
87、8月第1版.主編:邵順曾 李林</p><p> 【3】. 《數(shù)據(jù)庫原理及其應(yīng)用(Access)》(第2版)清華大學(xué)出版社.2006年8月.主編: 姚普選</p><p> 【4】.《ASP.NET網(wǎng)頁制作教程—從基本語法學(xué)起》.武漢:華中科技大學(xué)出版社(第二版)2004年:第一版.主編:王國榮.</p><p> 【5】.《T-SQL編程入門經(jīng)典》 清華大學(xué)
88、出版社.主編:(美)Paul Turley.Dan Wood 吳偉平(譯)</p><p> 【6】.《ASP 編程技巧》 機械工業(yè)出版社 2004年5月第1版.主編:朱紅 司光亞</p><p> 【7】.《數(shù)據(jù)庫系統(tǒng)概論》 高等教育出版社 2002年.主編:常軍林 魏功 </p><p> 【8】.《C#.NET程序設(shè)計》清華大學(xué)出版社 2005年.
89、主編:Julia Case.Anita C.Maillspaugh</p><p><b> 致謝</b></p><p> 通過這次簡單網(wǎng)絡(luò)投票系統(tǒng)設(shè)計,使我曾加了很多的知識,也掌握了很多ASP.NET設(shè)計的操作技巧,提高了編程技術(shù),盡管這樣我仍有很多不足之處,但我會永遠改良和增進自己的不足,而且也加深我多編程的興趣和愛好。這次畢業(yè)設(shè)計過程中,得到了很多的網(wǎng)絡(luò)設(shè)
90、計朋友和同學(xué)的幫助,尤其是老師的指點,特別市席奇老師的幫助,才得以完成,他們給我提供了很有關(guān)投票系統(tǒng)的的書和材料,并抽出時間幫我修改與糾正,在此表示衷心的感謝。</p><p> 在此我還感謝我的母?!獂x學(xué)校,以及在大學(xué)三年的生活中給予我關(guān)心和幫助我的老師和同學(xué),使他們陪伴著我以前度過難關(guān)。通過這次畢業(yè)設(shè)計,他們不僅提升了我專業(yè)知識水平,更教會了更重要的是要有整體把握系統(tǒng)設(shè)計的能力。我會一直奮斗,為母校爭光
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文——在線投票系統(tǒng)
- 畢業(yè)論文——在線投票系統(tǒng)
- 畢業(yè)論文——在線投票系統(tǒng)
- 累積投票制度研究【畢業(yè)論文】
- 畢業(yè)論文——在線投票系統(tǒng) (2)
- 畢業(yè)論文——在線投票系統(tǒng) (2)
- 網(wǎng)站投票系統(tǒng)-本科畢業(yè)論文
- 畢業(yè)論文---無線投票器的設(shè)計
- 畢業(yè)論文——asp網(wǎng)上投票系統(tǒng)設(shè)計
- 畢業(yè)論文范文——企業(yè)電子投票系統(tǒng)
- 畢業(yè)論文范文——企業(yè)電子投票系統(tǒng)
- 畢業(yè)論文范文——企業(yè)電子投票系統(tǒng)論文
- 畢業(yè)論文范文——企業(yè)電子投票系統(tǒng)論文
- 畢業(yè)論文---網(wǎng)上投票系統(tǒng)的設(shè)計與實現(xiàn)
- 畢業(yè)論文---網(wǎng)絡(luò)投票管理信息系統(tǒng)的設(shè)計與實現(xiàn)
- 畢業(yè)論文——畢業(yè)論文管理系統(tǒng)
- 微信投票平臺設(shè)計與實現(xiàn)-南通大學(xué)畢業(yè)論文
- 畢業(yè)論文——畢業(yè)論文管理系統(tǒng) (2)
- 畢業(yè)論文——畢業(yè)論文管理系統(tǒng) (2)
- 畢業(yè)論文——畢業(yè)論文管理系統(tǒng) (2)
評論
0/150
提交評論