基于Net的三成架構(gòu)的網(wǎng)上評分系統(tǒng)課程設(shè)計報告書_第1頁
基于Net的三成架構(gòu)的網(wǎng)上評分系統(tǒng)課程設(shè)計報告書_第2頁
基于Net的三成架構(gòu)的網(wǎng)上評分系統(tǒng)課程設(shè)計報告書_第3頁
基于Net的三成架構(gòu)的網(wǎng)上評分系統(tǒng)課程設(shè)計報告書_第4頁
基于Net的三成架構(gòu)的網(wǎng)上評分系統(tǒng)課程設(shè)計報告書_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 PAGE22 / NUMPAGES26 Web技術(shù)與開發(fā)(ASP.NET)課程設(shè)計說明書設(shè) 計 題 目: 網(wǎng)上投票系統(tǒng) 指 導 老 師:學 生 學 號:學 生 姓 名:同 組 人:時 間: 201 年 月 日 摘 要隨著網(wǎng)絡(luò)技術(shù)的迅速發(fā)展傳統(tǒng)的投票方式已經(jīng)不能滿足人們的需要。而網(wǎng)上投票系統(tǒng)除了能夠完成傳統(tǒng)的功能之外,更具有時效高和圍廣的優(yōu)點更符合現(xiàn)代社會的需要。 網(wǎng)上投票系統(tǒng)的設(shè)計是采用ASP.Net和SQL Server2005技術(shù)開發(fā)的簡易投票系統(tǒng)并在用戶登陸過程中設(shè)置動態(tài)驗證碼提高系統(tǒng)的安全性。它實現(xiàn)了以下功能:投票、結(jié)果查看、增加、刪除等。本次課程設(shè)計首先介紹了網(wǎng)上投票系統(tǒng)的概念與和

2、適用圍。在系統(tǒng)開發(fā)環(huán)境中主要對ASP、SQL與系統(tǒng)總體設(shè)計作了詳盡的介紹。接著通過E-R圖說明數(shù)據(jù)庫的搭建和數(shù)據(jù)庫的設(shè)計。然后介紹了本系統(tǒng)的總體設(shè)計包括系統(tǒng)結(jié)構(gòu)和總體功能設(shè)計。論文以功能模塊圖的形式說明了功能的設(shè)計并給出了部分核心代碼與主要功能界面圖。投票系統(tǒng)概括起來就是要通過科學的管理手段和專業(yè)化管理技術(shù)來實現(xiàn)統(tǒng)一。網(wǎng)上投票系統(tǒng)應具有以下功能:其一方便的操作。原有的手工投票管理基本上是人工操作效率低下,缺乏方便性,在線管理系統(tǒng)運用計算機和其他附加設(shè)備,不再需要手工操作基本上是全自動化,能夠節(jié)省人力、最大限度地利用各種寶貴的資源,大大的提高了效率。 其二友好的界面。友好的用戶界面會給人一種親切

3、感,在使用起來不會覺得繁瑣。用戶只需在線登陸點擊投票而且可以直接點擊查看投票的統(tǒng)計結(jié)果。 其三強大的功能。后臺管理員可以創(chuàng)建、刪除、修改投票候選人、并統(tǒng)計投票結(jié)果。 本設(shè)計正是基于這樣的功能要求展開設(shè)計的。 本系統(tǒng)的研究容主要有兩部分,具體如下:1、數(shù)據(jù)庫設(shè)計?;赟QL并根據(jù)需求進行數(shù)據(jù)庫表的設(shè)計。 2、功能模塊的實現(xiàn)。主要包括功能界面的設(shè)計和后臺實現(xiàn)。 本網(wǎng)上投票系統(tǒng)的開發(fā),遵循了自上而下的開發(fā)方式,即從整體到局部,從抽象到具體,從概要設(shè)計到詳細設(shè)計,從而體現(xiàn)結(jié)構(gòu)化的設(shè)計思想。貫穿開發(fā)過程的方法是:瀑布模型、生命周期方法學、面向?qū)ο蠓椒ǖ慕Y(jié)合。這也是目前較為行之有效的開發(fā)方法。 在進行網(wǎng)上

4、投票系統(tǒng)的開發(fā)時,用到了許多計算機方面的相關(guān)技術(shù),其中也用到了許多新的開發(fā)技術(shù)和方法,這些也是完成系統(tǒng)開發(fā)的關(guān)鍵性技術(shù),最主要的是:ASP技術(shù)、三層應用系統(tǒng)框架結(jié)構(gòu)、SQL數(shù)據(jù)庫技術(shù)等。關(guān)鍵詞: 網(wǎng)上投票系統(tǒng); ASP; SQL目 錄 TOC o 1-3 h z HYPERLINK l _Toc327530239摘要 PAGEREF _Toc327530239 h IHYPERLINK l _Toc327530240第1章設(shè)計目的 PAGEREF _Toc327530240 h 1HYPERLINK l _Toc3275302411.1 設(shè)計目的 PAGEREF _Toc327530241 h

5、 1HYPERLINK l _Toc327530242第2章總體設(shè)計 PAGEREF _Toc327530242 h 2HYPERLINK l _Toc3275302432.1程序設(shè)計組成框圖 PAGEREF _Toc327530243 h 2HYPERLINK l _Toc3275302442.2流程圖 PAGEREF _Toc327530244 h 4HYPERLINK l _Toc3275302452.3關(guān)系圖 PAGEREF _Toc327530245 h 5HYPERLINK l _Toc3275302462.4數(shù)據(jù)庫分析與設(shè)計 PAGEREF _Toc327530246 h 5HY

6、PERLINK l _Toc327530247第3章詳細設(shè)計 PAGEREF _Toc327530247 h 6HYPERLINK l _Toc3275302483.1 模塊功能說明 PAGEREF _Toc327530248 h 6HYPERLINK l _Toc3275302493.2 登錄模塊 PAGEREF _Toc327530249 h 6HYPERLINK l _Toc3275302503.3 投票模塊 PAGEREF _Toc327530250 h 8HYPERLINK l _Toc3275302513.4 排序模塊 PAGEREF _Toc327530251 h 12HYPER

7、LINK l _Toc3275302523.5 系統(tǒng)設(shè)置模塊 PAGEREF _Toc327530252 h 12HYPERLINK l _Toc3275302533.6 數(shù)據(jù)庫表設(shè)計 PAGEREF _Toc327530253 h 13HYPERLINK l _Toc327530254第4章系統(tǒng)實現(xiàn) PAGEREF _Toc327530254 h 15HYPERLINK l _Toc3275302554.1錄入模塊 PAGEREF _Toc327530255 h 15HYPERLINK l _Toc3275302564.2 投票模塊 PAGEREF _Toc327530256 h 16HYP

8、ERLINK l _Toc3275302574.3排序模塊 PAGEREF _Toc327530257 h 17HYPERLINK l _Toc3275302584.4系統(tǒng)設(shè)置模塊 PAGEREF _Toc327530258 h 18HYPERLINK l _Toc327530259結(jié)束語(心得體會) PAGEREF _Toc327530259 h 21第1章設(shè)計目的1.1 設(shè)計目的網(wǎng)上投票系統(tǒng)的開發(fā)可以更好的把市場的信息更準確更快速的反饋給客戶,使信息的來源更廣泛,從而提高信息的準確性。運用此系統(tǒng)可以降低企業(yè)為市場調(diào)查而消耗的人力和物力,利用節(jié)省的資源提高產(chǎn)品的質(zhì)量,增強競爭力。一個不斷發(fā)展

9、的前提就是眾多用戶的支持,一個好的一定要注意與用戶之間信息的交流。能夠有效得到用戶反饋的信息,并與時對容進行改進,這也是一個持續(xù)發(fā)展的基礎(chǔ)。也正是由于以上原因,網(wǎng)絡(luò)上各式各樣的投票系統(tǒng)層出不窮。網(wǎng)絡(luò)在線投票是目前網(wǎng)上比較常見的一個功能,利用此功能可以提直接在互聯(lián)網(wǎng)上直接投票,并與時查看投票結(jié)果。利用此系統(tǒng),用戶投票比較方便還可以查看并分析投票結(jié)果,從中獲得對自己有用的信息。本次課程設(shè)計的目的,就是制作一個網(wǎng)上投票系統(tǒng),該系統(tǒng)可以實現(xiàn)對投票數(shù)量進行累加,統(tǒng)計票數(shù)等操作。投票網(wǎng)頁的基本要求:有所有候選人列表(至少10人),有必要的投票說明和要求,如只能選幾人(由系統(tǒng)給予限制),顯示后可投票,如選5

10、人,選定5人后,網(wǎng)上提交。多選和少選都不能提交(無效票)。網(wǎng)上投票后,再次進入該網(wǎng)頁時該網(wǎng)頁不能再投票。每個人不能重復投票。獲得投票統(tǒng)計結(jié)果網(wǎng)頁的基本要求:多人投票完畢后,通過該網(wǎng)頁獲得投票統(tǒng)計結(jié)果,按候選人數(shù)排列得票最高的人員,如選5人就列出5人得。按得票多少排列,顯示在屏幕上。要求調(diào)入該網(wǎng)頁時,必須通過輸入登錄名和密碼后才能顯示上述投票結(jié)果。第2章總體設(shè)計2.1程序設(shè)計組成框圖2.1.1.系統(tǒng)主結(jié)構(gòu)圖:登錄系統(tǒng)管理員頁面用戶頁面用戶信息管理主題信息管理查看投票結(jié)果選擇投票主題查看投票結(jié)果2.1.2.子系統(tǒng)結(jié)構(gòu): (1)用戶信息管理:用戶信息管理注冊用戶信息修改用戶信息刪除用戶信息(2)主題

11、信息管理:主題信息管理添加候選人信息刪除候選人信息修改候選人信息2.2流程圖開始用戶登錄管理員登錄登錄登錄投票投票結(jié)果查看投票結(jié)果查看用戶信息管理主題信息管理結(jié)果顯示2.3關(guān)系圖用戶投票投票表1投票表2用戶名密碼權(quán)限候選人編號候選人名字得票總 數(shù)候選人編號候選人名字得票總 數(shù)2.4數(shù)據(jù)庫分析與設(shè)計我們設(shè)計了四個表,分別是用戶表(yonghu),投票表1(vote1),投票表2(vote2),isvote表。用戶表:在用戶注冊時,用于存儲“用戶名”,“密碼”,“權(quán)限”等信息。投票表1:存儲投票相關(guān)信息如:“候選人編號”,“候選人名字”,“得票總數(shù)”。投票表2:存儲投票相關(guān)信息如:“候選人編號”,

12、“候選人名字”,“得票總數(shù)”。Isvote表:存儲“用戶名”,“向主題1投票”,“向主題2投票”相關(guān)信息。數(shù)據(jù)關(guān)系模式用戶信息(用戶名,密碼,權(quán)限)投票表1(候選人編號,候選人名字,得票總數(shù))投票表2(候選人編號,候選人名字,得票總數(shù))isvote(userid,isvote1,isvote2)第3章 詳細設(shè)計3.1 模塊功能說明系統(tǒng)包括四大模塊:登錄模塊,投票模塊,排序模塊,系統(tǒng)設(shè)置模塊登錄模塊:該模塊分為登錄和注冊兩個小模塊??梢詫崿F(xiàn)普通用戶和管理員兩種身份的登錄,普通用戶登錄后就跳轉(zhuǎn)到用戶操作頁面,管理員登錄后進入管理員操作頁面。還可以實現(xiàn)普通用戶的注冊,管理員不可以注冊,但可以對普通用

13、戶進行添加、修改、刪除。投票模塊:該模塊可以為兩個主題投票,其中一個是多選(不多于5人),另一個是單選。普通用戶可以進行投票,管理員不可以投票,可以對投票主題進行管理,即進行對投票的候選人的添加、修改、刪除。排序模塊:主要用于投票結(jié)果的查看,可以對候選人的總得票數(shù),名字等進行排序,可以看到排名前5的候選人和得票數(shù),也可以查看所有候選人的得票數(shù),這樣便可以直觀的看出得票數(shù)的高低。系統(tǒng)設(shè)置模塊:管理員對頁面的管理,如可以對普通用戶進行添加、修改、刪除,也可以對對投票的候選人的添加、修改、刪除。3.2 登錄模塊該模塊分為登錄和注冊兩個小模塊。登錄模塊的具體設(shè)計代碼如下圖所示:using System

14、;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient ;publicpartialclass_Default : System.Web.UI.Pageprotected

15、void Page_Load(object sender, EventArgs e) protectedvoid Button1_Click(object sender, EventArgs e) SqlConnection MyConnection = Conn.CreateCon(); MyConnection.Open(); /打開連接string strsql = select * from yonghu where userid= + TextBox1.Text + and passwd= + TextBox2.Text + ;SqlCommand cm = newSqlComman

16、d(strsql, MyConnection);SqlDataReader dr = cm.ExecuteReader();if (dr.Read() /保存當前用戶名到Session。 Sessionuserid = druserid; Sessionpower = drpower;int a = Convert.ToInt32(DropDownList1.SelectedValue);int c = Convert.ToInt32(Sessionpower);if (c = a) if (c = 0) Response.Redirect(用戶主頁.aspx); elseif (c = 1)

17、 Response.Redirect(管理員主頁.aspx); else Response.Write(alert(權(quán)限錯誤!);); else Response.Write(alert(用戶名或密碼錯誤!);); MyConnection.Close(); /關(guān)閉連接 protectedvoid Button2_Click(object sender, EventArgs e) Response.Redirect(register.aspx); 注冊模塊的具體設(shè)計代碼如下圖所示:using System.Collections;using System.Web;using System.We

18、b.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient ;publicpartialclassregister : System.Web.UI.Pageint a;protectedvoid Page_Load(object sender, EventArgs e) a = Convert.ToInt32(Sessionpo

19、wer); protectedvoid Button1_Click(object sender, EventArgs e) SqlConnection oCon = Conn.CreateCon();string insertString = INSERT INTO yonghu ( userid,passwd,power) values( + TextBox1.Text + , + TextBox2.Text + ,0);string insertString2 = INSERT INTO isvote(userid,isvote1,isvote2) values( + TextBox1.T

20、ext + , 0,0);SqlCommand cmd = newSqlCommand(insertString, oCon);SqlCommand cmd2 = newSqlCommand(insertString2, oCon); oCon.Open(); cmd.ExecuteNonQuery(); cmd2.ExecuteNonQuery(); oCon.Close();if (a = 1) Response.Redirect(管理員主頁.aspx); else Response.Redirect(default.aspx); 3.3 投票模塊該模塊可以為兩個主題投票,其中一個主題是“

21、三好學生”的評選,另一個是“你最喜歡的歌手”的評選?!叭脤W生”的評選的具體設(shè)計代碼如下所示:using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;u

22、sing System.Data.SqlClient;publicpartialclassDefault2 : System.Web.UI.Pageint c, d, a, i, n;string m;protectedvoid Page_Load(object sender, EventArgs e) m = (string)(Sessionuserid); n = (int)(Sessionpower); protectedvoid Button1_Click(object sender, EventArgs e) quzhi(); c = (int)(Sessionisvote1);if

23、 (n = 0) if (c = 0) for (i = 0; i = this.GridView1.Rows.Count - 1; i+) CheckBox chk = (CheckBox)(this.GridView1.Rowsi.FindControl(checkbox1);if (chk.Checked) d = d + 1; sw(); else Response.Write(alert(您已經(jīng)投過票!!);); else Response.Write(alert();); publicvoid sw() /此方法用于檢驗投票次數(shù) if (d = 0) Response.Write(

24、alert(您還沒有投票!);); elseif (d 6) for (i = 0; i 5) Response.Write(alert(您的選擇超過五人!);); publicvoid db() /投票計數(shù)操作,并且將用戶投票狀態(tài)改變 a = Convert.ToInt32(GridView1.Rowsi.Cells0.Text);int b = Convert.ToInt32(GridView1.Rowsi.Cells2.Text) + 1;CheckBox chk = (CheckBox)(this.GridView1.Rowsi.FindControl(checkbox1);SqlCo

25、nnection CON = newSqlConnection(Data Source=.;Initial Catalog=VoteDB;Integrated Security=True);string updatestring1 = update vote1 set sum=sum where voteid=voteid ;string updatestring2 = update isvote set isvote1=1 where userid=id ;SqlCommand cmd1 = newSqlCommand(updatestring1, CON);SqlCommand cmd2

26、= newSqlCommand(updatestring2, CON); cmd1.Parameters.AddWithValue(voteid, a); cmd2.Parameters.AddWithValue(id, m); cmd1.Parameters.AddWithValue(sum, b); CON.Open(); cmd1.ExecuteNonQuery(); cmd2.ExecuteNonQuery(); CON.Close(); publicvoid quzhi() SqlConnection MyConnection = Conn.CreateCon(); MyConnec

27、tion.Open(); /打開連接string strsql2 = select * from isvote where userid= +m + ;SqlCommand cm2 = newSqlCommand(strsql2, MyConnection);SqlDataReader dr2 = cm2.ExecuteReader(); dr2.Read(); Sessionisvote1 = dr2isvote1; Sessionisvote2 = dr2isvote2; “你最喜歡的歌手”的評選的具體設(shè)計代碼如下所示:using System;using System.Data;usin

28、g System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;publicpartialclassDefault3 : System.Web.UI.Pageint c, d

29、, a, b, i, n;string m;protectedvoid Page_Load(object sender, EventArgs e) m = (string)(Sessionuserid); n = (int)(Sessionpower); protectedvoid Button1_Click(object sender, EventArgs e) quzhi(); c = (int)(Sessionisvote2);if (n = 0)/如果是普通用戶的話,執(zhí)行下列語句 if (c = 0)/如果沒有投票 for (i = 0; i = this.GridView1.Rows

30、.Count - 1; i+)/對選擇的對象計數(shù) CheckBox chk = (CheckBox)(this.GridView1.Rowsi.FindControl(checkbox1);if (chk.Checked) d = d + 1; sw(); else Response.Write(alert(您已經(jīng)投過票!!);); else/如果是管理員不能投票 Response.Write(alert(管理員不能投票!);); publicvoid sw() /此方法用于檢驗投票次數(shù) if (d = 0) Response.Write(alert(您還沒有投票!);); elseif (d

31、 =1) for (i = 0; i = this.GridView1.Rows.Count - 1; i+) for (i = 0; i 1) Response.Write(alert(您只能為一人投票!);); publicvoid db() /投票計數(shù)操作,并且將用戶投票狀態(tài)改變 a = Convert.ToInt32(GridView1.Rowsi.Cells0.Text); b = Convert.ToInt32(GridView1.Rowsi.Cells2.Text) + 1;CheckBox chk = (CheckBox)(this.GridView1.Rowsi.FindCo

32、ntrol(checkbox1);SqlConnection CON = newSqlConnection(Data Source=.;Initial Catalog=VoteDB;Integrated Security=True);string updatestring1 = update vote2 set sum=sum where voteid=voteid ;/將總數(shù)增加一string updatestring2 = update isvote set isvote2=1 where userid=id ;/使該用戶不能投票SqlCommand cmd1 = newSqlComman

33、d(updatestring1, CON);SqlCommand cmd2 = newSqlCommand(updatestring2, CON); cmd1.Parameters.AddWithValue(voteid, a); cmd2.Parameters.AddWithValue(id, m); cmd1.Parameters.AddWithValue(sum, b); CON.Open(); cmd1.ExecuteNonQuery(); cmd2.ExecuteNonQuery(); CON.Close(); publicvoid quzhi() SqlConnection MyC

34、onnection = Conn.CreateCon(); MyConnection.Open(); /打開連接string strsql2 = select * from isvote where userid= + m + ;SqlCommand cm2 = newSqlCommand(strsql2, MyConnection);SqlDataReader dr2 = cm2.ExecuteReader(); dr2.Read(); Sessionisvote1 = dr2isvote1; Sessionisvote2 = dr2isvote2; 3.4 排序模塊主要用于投票結(jié)果的查看,

35、可以對候選人的總得票數(shù),名字等進行排序。該功能是用sqldatasource數(shù)據(jù)源控件實現(xiàn)的,只要將sortexpression屬性設(shè)置為要實現(xiàn)排序的字段值即可。3.5 系統(tǒng)設(shè)置模塊管理員對頁面的管理,如可以對普通用戶進行添加、修改、刪除,也可以對對投票的候選人的添加、修改、刪除。該功能是用objectdatasource數(shù)據(jù)源控件實現(xiàn)的,具體設(shè)計代碼如下所示:publicDataSet Getvote1() string strSql = SELECT voteid,voyename,sum FROM vote1;SqlDataAdapter oDA = newSqlDataAdapter(

36、strSql, oCon);DataSet oDS = newDataSet(); oDA.Fill(oDS, user);return oDS; publicvoid Updatevote1(string voteid, string voyename, string sum) string updateString = UPDATE vote1 set voyename=voyename ,sum=sum where voteid=voteid;SqlCommand cmd = newSqlCommand(updateString, oCon); cmd.Parameters.AddWit

37、hValue(voteid, voteid); cmd.Parameters.AddWithValue(voyename, voyename); cmd.Parameters.AddWithValue(sum, sum); oCon.Open(); cmd.ExecuteNonQuery(); oCon.Close(); publicvoid Deletevote1(string voteid) /SqlConnection oCon = Conn.CreateCon();string deleteString = DELETE FROM vote1 WHERE voteid=voteid;S

38、qlCommand cmd = newSqlCommand(deleteString, oCon); cmd.Parameters.AddWithValue(voteid, voteid); oCon.Open(); cmd.ExecuteNonQuery(); oCon.Close(); publicvoid Insertvote1(string voteid, string voyename, string sum) /SqlConnection oCon = Conn.CreateCon();string InsertString = INSERT INTO vote1(voteid,voyename,sum) VALUES (voteid,voyename,sum);SqlCommand cmd = newSqlCommand(InsertString, oCon); cmd.Parameters.AddWithValue(voteid, voteid); cmd.Parameters.AddWithValue(voyename, voyename); cmd.Parameters.AddWithValue(sum, sum); oCon.Open(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論