




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 PAGE22 / NUMPAGES26 Web技術與開發(fā)(ASP.NET)課程設計說明書設 計 題 目: 網(wǎng)上投票系統(tǒng) 指 導 老 師:學 生 學 號:學 生 姓 名:同 組 人:時 間: 201 年 月 日 摘 要隨著網(wǎng)絡技術的迅速發(fā)展傳統(tǒng)的投票方式已經(jīng)不能滿足人們的需要。而網(wǎng)上投票系統(tǒng)除了能夠完成傳統(tǒng)的功能之外,更具有時效高和圍廣的優(yōu)點更符合現(xiàn)代社會的需要。 網(wǎng)上投票系統(tǒng)的設計是采用ASP.Net和SQL Server2005技術開發(fā)的簡易投票系統(tǒng)并在用戶登陸過程中設置動態(tài)驗證碼提高系統(tǒng)的安全性。它實現(xiàn)了以下功能:投票、結果查看、增加、刪除等。本次課程設計首先介紹了網(wǎng)上投票系統(tǒng)的概念與和
2、適用圍。在系統(tǒng)開發(fā)環(huán)境中主要對ASP、SQL與系統(tǒng)總體設計作了詳盡的介紹。接著通過E-R圖說明數(shù)據(jù)庫的搭建和數(shù)據(jù)庫的設計。然后介紹了本系統(tǒng)的總體設計包括系統(tǒng)結構和總體功能設計。論文以功能模塊圖的形式說明了功能的設計并給出了部分核心代碼與主要功能界面圖。投票系統(tǒng)概括起來就是要通過科學的管理手段和專業(yè)化管理技術來實現(xiàn)統(tǒng)一。網(wǎng)上投票系統(tǒng)應具有以下功能:其一方便的操作。原有的手工投票管理基本上是人工操作效率低下,缺乏方便性,在線管理系統(tǒng)運用計算機和其他附加設備,不再需要手工操作基本上是全自動化,能夠節(jié)省人力、最大限度地利用各種寶貴的資源,大大的提高了效率。 其二友好的界面。友好的用戶界面會給人一種親切
3、感,在使用起來不會覺得繁瑣。用戶只需在線登陸點擊投票而且可以直接點擊查看投票的統(tǒng)計結果。 其三強大的功能。后臺管理員可以創(chuàng)建、刪除、修改投票候選人、并統(tǒng)計投票結果。 本設計正是基于這樣的功能要求展開設計的。 本系統(tǒng)的研究容主要有兩部分,具體如下:1、數(shù)據(jù)庫設計。基于SQL并根據(jù)需求進行數(shù)據(jù)庫表的設計。 2、功能模塊的實現(xiàn)。主要包括功能界面的設計和后臺實現(xiàn)。 本網(wǎng)上投票系統(tǒng)的開發(fā),遵循了自上而下的開發(fā)方式,即從整體到局部,從抽象到具體,從概要設計到詳細設計,從而體現(xiàn)結構化的設計思想。貫穿開發(fā)過程的方法是:瀑布模型、生命周期方法學、面向對象方法的結合。這也是目前較為行之有效的開發(fā)方法。 在進行網(wǎng)上
4、投票系統(tǒng)的開發(fā)時,用到了許多計算機方面的相關技術,其中也用到了許多新的開發(fā)技術和方法,這些也是完成系統(tǒng)開發(fā)的關鍵性技術,最主要的是:ASP技術、三層應用系統(tǒng)框架結構、SQL數(shù)據(jù)庫技術等。關鍵詞: 網(wǎng)上投票系統(tǒng); ASP; SQL目 錄 TOC o 1-3 h z HYPERLINK l _Toc327530239摘要 PAGEREF _Toc327530239 h IHYPERLINK l _Toc327530240第1章設計目的 PAGEREF _Toc327530240 h 1HYPERLINK l _Toc3275302411.1 設計目的 PAGEREF _Toc327530241 h
5、 1HYPERLINK l _Toc327530242第2章總體設計 PAGEREF _Toc327530242 h 2HYPERLINK l _Toc3275302432.1程序設計組成框圖 PAGEREF _Toc327530243 h 2HYPERLINK l _Toc3275302442.2流程圖 PAGEREF _Toc327530244 h 4HYPERLINK l _Toc3275302452.3關系圖 PAGEREF _Toc327530245 h 5HYPERLINK l _Toc3275302462.4數(shù)據(jù)庫分析與設計 PAGEREF _Toc327530246 h 5HY
6、PERLINK l _Toc327530247第3章詳細設計 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)設置模塊 PAGEREF _Toc327530252 h 12HYPERLINK l _Toc3275302533.6 數(shù)據(jù)庫表設計 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)設置模塊 PAGEREF _Toc327530258 h 18HYPERLINK l _Toc327530259結束語(心得體會) PAGEREF _Toc327530259 h 21第1章設計目的1.1 設計目的網(wǎng)上投票系統(tǒng)的開發(fā)可以更好的把市場的信息更準確更快速的反饋給客戶,使信息的來源更廣泛,從而提高信息的準確性。運用此系統(tǒng)可以降低企業(yè)為市場調查而消耗的人力和物力,利用節(jié)省的資源提高產(chǎn)品的質量,增強競爭力。一個不斷發(fā)展
9、的前提就是眾多用戶的支持,一個好的一定要注意與用戶之間信息的交流。能夠有效得到用戶反饋的信息,并與時對容進行改進,這也是一個持續(xù)發(fā)展的基礎。也正是由于以上原因,網(wǎng)絡上各式各樣的投票系統(tǒng)層出不窮。網(wǎng)絡在線投票是目前網(wǎng)上比較常見的一個功能,利用此功能可以提直接在互聯(lián)網(wǎng)上直接投票,并與時查看投票結果。利用此系統(tǒng),用戶投票比較方便還可以查看并分析投票結果,從中獲得對自己有用的信息。本次課程設計的目的,就是制作一個網(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)計結果網(wǎng)頁的基本要求:多人投票完畢后,通過該網(wǎng)頁獲得投票統(tǒng)計結果,按候選人數(shù)排列得票最高的人員,如選5人就列出5人得。按得票多少排列,顯示在屏幕上。要求調入該網(wǎng)頁時,必須通過輸入登錄名和密碼后才能顯示上述投票結果。第2章總體設計2.1程序設計組成框圖2.1.1.系統(tǒng)主結構圖:登錄系統(tǒng)管理員頁面用戶頁面用戶信息管理主題信息管理查看投票結果選擇投票主題查看投票結果2.1.2.子系統(tǒng)結構: (1)用戶信息管理:用戶信息管理注冊用戶信息修改用戶信息刪除用戶信息(2)主題
11、信息管理:主題信息管理添加候選人信息刪除候選人信息修改候選人信息2.2流程圖開始用戶登錄管理員登錄登錄登錄投票投票結果查看投票結果查看用戶信息管理主題信息管理結果顯示2.3關系圖用戶投票投票表1投票表2用戶名密碼權限候選人編號候選人名字得票總 數(shù)候選人編號候選人名字得票總 數(shù)2.4數(shù)據(jù)庫分析與設計我們設計了四個表,分別是用戶表(yonghu),投票表1(vote1),投票表2(vote2),isvote表。用戶表:在用戶注冊時,用于存儲“用戶名”,“密碼”,“權限”等信息。投票表1:存儲投票相關信息如:“候選人編號”,“候選人名字”,“得票總數(shù)”。投票表2:存儲投票相關信息如:“候選人編號”,
12、“候選人名字”,“得票總數(shù)”。Isvote表:存儲“用戶名”,“向主題1投票”,“向主題2投票”相關信息。數(shù)據(jù)關系模式用戶信息(用戶名,密碼,權限)投票表1(候選人編號,候選人名字,得票總數(shù))投票表2(候選人編號,候選人名字,得票總數(shù))isvote(userid,isvote1,isvote2)第3章 詳細設計3.1 模塊功能說明系統(tǒng)包括四大模塊:登錄模塊,投票模塊,排序模塊,系統(tǒng)設置模塊登錄模塊:該模塊分為登錄和注冊兩個小模塊??梢詫崿F(xiàn)普通用戶和管理員兩種身份的登錄,普通用戶登錄后就跳轉到用戶操作頁面,管理員登錄后進入管理員操作頁面。還可以實現(xiàn)普通用戶的注冊,管理員不可以注冊,但可以對普通用
13、戶進行添加、修改、刪除。投票模塊:該模塊可以為兩個主題投票,其中一個是多選(不多于5人),另一個是單選。普通用戶可以進行投票,管理員不可以投票,可以對投票主題進行管理,即進行對投票的候選人的添加、修改、刪除。排序模塊:主要用于投票結果的查看,可以對候選人的總得票數(shù),名字等進行排序,可以看到排名前5的候選人和得票數(shù),也可以查看所有候選人的得票數(shù),這樣便可以直觀的看出得票數(shù)的高低。系統(tǒng)設置模塊:管理員對頁面的管理,如可以對普通用戶進行添加、修改、刪除,也可以對對投票的候選人的添加、修改、刪除。3.2 登錄模塊該模塊分為登錄和注冊兩個小模塊。登錄模塊的具體設計代碼如下圖所示: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(權限錯誤!);); else Response.Write(alert(用戶名或密碼錯誤!);); MyConnection.Close(); /關閉連接 protectedvoid Button2_Click(object sender, EventArgs e) Response.Redirect(register.aspx); 注冊模塊的具體設計代碼如下圖所示: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生”的評選的具體設計代碼如下所示: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; “你最喜歡的歌手”的評選的具體設計代碼如下所示: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 排序模塊主要用于投票結果的查看,
35、可以對候選人的總得票數(shù),名字等進行排序。該功能是用sqldatasource數(shù)據(jù)源控件實現(xiàn)的,只要將sortexpression屬性設置為要實現(xiàn)排序的字段值即可。3.5 系統(tǒng)設置模塊管理員對頁面的管理,如可以對普通用戶進行添加、修改、刪除,也可以對對投票的候選人的添加、修改、刪除。該功能是用objectdatasource數(shù)據(jù)源控件實現(xiàn)的,具體設計代碼如下所示: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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 旅館業(yè)數(shù)字化轉型與智能化技術應用考核試卷
- 建筑工程法律法規(guī)深度剖析考核試卷
- (完整版)協(xié)商一致解除(或終止)勞動合同協(xié)議書
- 體育經(jīng)紀人與運動員職業(yè)風險管理考核試卷
- 旅游業(yè)投訴處理培訓課件
- 西安房子購買合同范本
- 金融產(chǎn)品推廣及銷售服務合同
- 電腦系統(tǒng)技術服務合同
- 養(yǎng)豬產(chǎn)業(yè)作業(yè)指導書
- 公司信息化建設方案設計書
- 車間生產(chǎn)現(xiàn)場5S管理基礎知識培訓課件
- 區(qū)域保護合同模板
- 讀《這樣教學很有效-任務驅動式課堂教學》心得體會
- DB11 945-2012 建設工程施工現(xiàn)場安全防護、場容衛(wèi)生及消防保衛(wèi)標準
- BEC商務英語初級考試歷年真題及答案6套
- 消除“艾梅乙”醫(yī)療歧視-從我做起
- 基于項目化學習的小學美術跨學科主題教學實踐研究
- GB/T 44625-2024動態(tài)響應同步調相機技術要求
- 家具廠質量管理體系手冊
- 《家庭教育學第2版》全套教學課件
- 2024~2025學年度八年級數(shù)學上冊第1課時 負整數(shù)指數(shù)冪教學設計
評論
0/150
提交評論