
常用软件类: |
|杀毒安全 | |联络聊天 | |网络软件 | |多媒体类 | |系统工具 | |图形图像 | |系统工具 | |应用软件 | |行业软件 |
开发设计类: |
|动画制作 | |图像处理 | |3D设计 | |操作系统 | |站长学院 | |网络相关 | |WEB设计 | |数据库类 | |程序开发 |

字 段 名 |
数 据 类 型 |
字 段 说 明 |
键 引 用 |
备 注 |
| TreeID | int | 投票项目ID | PK | 主键(自动增一) |
| Item | varchar(200) | 投票项目的名称 |
||
VoteCount |
int |
票数 |
| /* 存储过程Pr_GetVotes */ CREATE PROCEDURE Pr_GetVotes AS SELECT * FROM Votes ORDER BY VoteID /* 存储过程Pr_GetSingleVote */ CREATE PROCEDURE Pr_GetSingleVote (@VoteID int) AS SELECT Votes.* FROM Votes WHERE VoteID = @VoteID /* 存储过程Pr_AddVote */ CREATE PROCEDURE Pr_AddVote(@Item varchar(100)) AS INSERT INTO Votes(Item,ItemCount) VALUES(@Item,0) RETURN @@Identity /* 存储过程Pr_UpdateVote */ CREATE PROCEDURE Pr_UpdateVote (@VoteID int) AS UPDATE Votes SET VoteCount = VoteCount + 1 WHERE VoteID = @VoteID /* 存储过程Pr_DeleteVote */ CREATE PROCEDURE Pr_DeleteVote (@VoteID int) AS DELETE Votes WHERE VoteID = @VoteID |
2.2 数据库访问层设计
在应用程序WebVote中添加访问投票表Votes的类Vote,该类封装对投票项目表Votes中记录的选择、添加、修改和删除的方法。其中:
方法GetVotes() 从投票项目表Votes中获取所有投票项目的信息;
方法AddVote(String sItem) 添加一条新记录到投票项目表Votes中;
方法UpdateVote(int nVoteID) 更新参与投票项目的票数;
方法DeleteVote(int nVoteID) 从投票项目表Votes中获取删除一条投票项目信息。
类Vote的程序设计代码如下:
| public class Vote { public SqlDataReader GetVotes() { //定义类SQLHelper SQLHelper.SQLHelper sqlHelper = new SQLHelper.SQLHelper(); //定义保存从数据库获取的结果的DataReader SqlDataReader dr = null; try { //执行存储过程 sqlHelper.RunProc("Pr_GetVotes", out dr); } catch (Exception ex) { //抛出执行数据库异常 SystemError.CreateErrorLog(ex.Message); throw new Exception(ex.Message, ex); } //返回从数据库获取的结果 return (dr); } public int AddVote(String sItem) { //定义类SQLHelper SQLHelper.SQLHelper sqlHelper = new SQLHelper.SQLHelper(); //创建访问数据库的参数 SqlParameter[] paramList = { sqlHelper.CreateInParam("@Item", SqlDbType.VarChar,100,sItem) }; try { //执行存储过程 return (sqlHelper.RunProc("Pr_AddVote", paramList)); } catch (Exception ex) { //抛出执行数据库异常 SystemError.CreateErrorLog(ex.Message); throw new Exception(ex.Message, ex); } } public void UpdateVote(int nVoteID) { //定义类SQLHelper SQLHelper.SQLHelper sqlHelper = new SQLHelper.SQLHelper(); //创建访问数据库的参数 SqlParameter[] paramList = {sqlHelper.CreateInParam("@VoteID", SqlDbType.Int, 4,nVoteID)}; try { //执行存储过程 sqlHelper.RunProc("Pr_UpdateVote", paramList); } catch (Exception ex) { //抛出执行数据库异常 SystemError.CreateErrorLog(ex.Message); throw new Exception(ex.Message, ex); } } public void DeleteVote(int nVoteID) { //定义类SQLHelper SQLHelper.SQLHelper sqlHelper = new SQLHelper.SQLHelper(); //创建访问数据库的参数 SqlParameter[] paramList = { sqlHelper.CreateInParam("@VoteID", SqlDbType.Int, 4,nVoteID) }; try { //执行存储过程 sqlHelper.RunProc("Pr_DeleteVote", paramList); } catch (Exception ex) { //抛出执行数据库异常 SystemError.CreateErrorLog(ex.Message); throw new Exception(ex.Message, ex); } } } |

| <asp:HyperLink ID="ItemManageLink" NavigateUrl="~/VoteItemManage.aspx" runat="server" Font-Bold="True">投票项目管理</asp:HyperLink> <asp:HyperLink ID="OnlineVoteLink" NavigateUrl="~/WebOnlinVote.aspx" runat="server" Font-Bold="True">网站在线投票</asp:HyperLink> <asp:HyperLink ID="ViewVoteLink" NavigateUrl="~/ShowVoteInfo.aspx" runat="server" Font-Bold="True">查看投票结果</asp:HyperLink> |

投票项目管理页面设计
在应用程序WebVote中添加一个新的Web页面,并命名为VoteItemManage.aspx,它的代码隐藏文件为VoteItemManage.aspx.cs文件。
1.页面设计
在页面VoteItemManage.aspx上添加一个列表控件、一个Button控件、一个TextBox控件和一个ImageButton控件,它们的名称分别为ItemList、AddBtn、Item和deleteBtn。控件ItemList显示投票项目表中的所有数据;控件AddBtn实现添加一个新的投票项目;控件Item用来输入新的投票项目名称;控件deleteBtn删除一个投票项目。页面ItemManage.aspx的设计界面如图4所示。
图4 页面VoteItemManage.aspx的设计界面
页面VoteItemManage.aspx的HTML设计代码如下:
| <title>网络在线投票系统</title> <link href="CSS/ASPNET2BaseCss.css" type="text/css" rel="stylesheet"> <asp:ListBox id="ItemList" width="150" rows="10" runat="server" CssClass="SelectSta" /> <asp:ImageButton id="deleteBtn" ImageUrl="~/images/delete.gif" AlternateText="删除此项" runat="server" CommandName="delete" OnClick="deleteBtn_Click" /> <asp:TextBox ID="Item" Runat="server" Width="252" CssClass="InputCss"></asp:TextBox> <asp:Button ID="AddBtn" Runat="server" Text="增加新的投票项目" CssClass="ButtonCss" OnClick="AddBtn_Click"></asp:Button> |
2.页面初始化