当前位置:中国站长下载文章中心网页编程PHP编程 → 用ASP.NET 2.0设计网络在线投票系统(2)

用ASP.NET 2.0设计网络在线投票系统(2)

减小字体 增大字体 作者:不详  来源:不详  发布时间:2006-8-14 10:24:06
     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);
     }
    }
   }
  
    系统主页面设计
  
    在应用程序WebVote中添加一个新的Web页面,并命名为Default.ASPx,它的代码隐藏文件为Default.aspx.cs。
  
    在页面Default.aspx上添加3个超链接控件,名称分别为ItemManageLink、OnlineVoteLink、ViewVoteLink。它们分别实现跳转投票项目管理页面VoteItemManage.aspx、投票页面WebOnlinVote.aspx、投票结果页面ShowVoteInfo.aspx。页面Default.aspx的设计界面如图2所示。
  
  图2 页面Default.aspx的设计界面
  
    页面Default.aspx的HTML设计代码如下:
  
  <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>
  
    在线投票系统运行之后,系统默认页面Default.aspx的初始化界面如图3所示,此时显示3个链接按钮。
  
  图3 投票页面Default.aspx的初始化界面  做人要厚道,请注明转自chinazhan中国站长(www.ChinaZhan.com)。