博客投票系统

投票系统数据库设计

1,数据库设计:

 

投票管理界面:

 

 

 

后台代码如图:

 

代码
 <%@ Control Language="C#" AutoEventWireup="true" CodeFile="AddVote.ascx.cs" Inherits="AddVote" %>
<table style="width:800px; height:400px"   cellspacing="0">
    <tr>
      
        <td style="width:189px; background-image: url(image/login_1.gif);">
        </td>
         <td style="background-image: url(image/login_2.gif); width: 407px;">
           <table style="width:400px;  height:400px;">
            <tr >
                <td style="width:100px;"></td>
                <td style="width:200px;"></td>
                 <td style="width:100px;"></td>
            </tr>
             <tr >
                <td style="width:100px;"></td>
                <td style="width:200px; text-align: center;">
                    &nbsp; &nbsp; <span style="font-size: 24pt; color: #99ff00">&nbsp; 在线投票系统</span></td>
                 <td style="width:100px;"></td>
            </tr>
             <tr >
                <td style="width:100px;"> </td> 
                <td style="width:200px;">
               
                      
               
               
                </td>
                <td style="width:100px"><asp:ImageButton ID="returnIndex" runat="server" ImageUrl="~/image/ruturnIndex.gif" CausesValidation="False" /></td>
                
                  
            </tr>
             <tr >
                <td style="width:100px; height: 36px;">
                    标题:</td>
                <td style="width:200px; height: 36px;">
                     <table style="width:200px;">
                       <tr>
                          <td style="width:100px; height: 34px; ">
                              <asp:TextBox ID="tbVoteTitle" runat="server"></asp:TextBox></td>
                          <td style="width:20px;  height: 34px;">
                              <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="*" ControlToValidate="tbVoteTitle"></asp:RequiredFieldValidator></td>
                          <td style="width:80px;  height: 34px;">
                             </td>
                       </tr>
                    
                    
                     </table>
                 </td>
                 <td style="width:100px; height: 36px;"> <asp:ImageButton ID="Add" runat="server" ImageUrl="~/image/addVotetitle.gif" ImageAlign="Top" OnClick="Add_Click" /></td>
            </tr>
             <tr >
                <td style="width:100px; height: 33px;"></td>
                <td colspan="2" rowspan="6">
                    <asp:Panel ID="Panel1" runat="server" Height="200px" Width="340px">
                       <table style="width:340px;">
                          <tr>
                            <td style="width:180px;"></td>
                            <td style="width: 21px"></td>
                            <td  >
                                <asp:ImageButton ID="close" runat="server" CausesValidation="False" ImageUrl="~/image/close.gif" /></td>
                         
                          </tr>
                          <tr>
                            <td style="width: 180px">
                                请在下面输入投票选项:</td>
                         
                          </tr><tr>
                            <td style="width: 180px">
                                <asp:TextBox ID="tbVoteItem" runat="server"></asp:TextBox></td>
                            <td style="width: 21px">
                                <asp:RequiredFieldValidator ID="tbVoteItemRequest" runat="server" ErrorMessage="*" ControlToValidate="tbVoteItem" Enabled="False"></asp:RequiredFieldValidator></td>
                             <td>
                                 <asp:ImageButton ID="insertvoteItem" runat="server" ImageUrl="~/image/insertVote.gif" OnClick="insertvoteItem_Click" /></td>
                          </tr><tr>
                            <td style="height: 93px; width: 180px;">
                                <asp:ListBox ID="voteItems" runat="server" Width="211px"></asp:ListBox></td>
                             <td style="height: 93px; width: 21px;"></td>
                             <td>
                                 <asp:ImageButton ID="Remove" runat="server" CausesValidation="False" ImageUrl="~/image/removeVoteItem.gif" OnClick="Remove_Click" /></td>
                           
                          </tr>
                      
                       </table>
                    </asp:Panel>
                </td>
            </tr>
             <tr >
                <td style="width:100px; height: 34px;"></td>
            </tr>
             <tr >
                <td style="width:100px;"></td>
            </tr>
             <tr >
                <td style="width:100px;"></td>
            </tr>
             <tr >
                <td style="width:100px;"></td>
            </tr>
             <tr >
                <td style="width:100px;"></td>
            </tr>
             <tr >
                <td style="width:100px;"></td>
                <td style="width:200px;"></td>
                 <td style="width:100px;"></td>
            </tr>
           </table>
        
        
        
        
        </td>
         <td style="width:200px; background-image: url(image/login_3.gif);">
         </td>
    </tr>
  
</table>

 

 

 

添加投票界面;

 

 

 

以后使用

 

,添加投票界面后台代码:

设置插入投票选项有关控件是否显示:

 

 

ExpandedBlockStart.gif 代码
 1  #region  页面设置
 2       public   void   set ( bool  blValue)
 3      {
 4          tbVoteTitle.Enabled  =  blValue; // 输入标题的文本框是否可用
 5          RequiredFieldValidator1.Enabled  =  blValue; // 验证标题文本框的验证控件是否启用
 6          Add.Enabled  =  blValue; // 添加按钮是否可用
 7          Panel1.Visible  =   ! blValue; // Panel控件是否显示
 8          tbVoteItemRequest.Enabled  =   ! blValue; // 验证投票选项的文本框的验证控件是否启用
 9 
10      }

 

 

 

在页面加载事件中调用set方法设置页面,代码如下:

 

1    protected   void  Page_Load( object  sender, EventArgs e)
2      {
3           if  ( ! IsPostBack)
4          {
5               set ( true );
6          }
7      }

 

 

添加投票项:

 

 

ExpandedBlockStart.gif 代码
 1    protected   void  Add_Click( object  sender, ImageClickEventArgs e)
 2      {
 3           int  userid  =  GetUserID();
 4           // strVoteID = AutoID("VoteItem", "VoteItem_id");
 5           string  strTitle  =  tbVoteTitle.Text;
 6           if  (strTitle  !=   "" )
 7          {
 8              obj.ExecuteSql( " insert into VoteItem (User_id,VoteItem)values( "   +   " ' "   +  userid  +   " ' "   +   " , "   +   " ' "   +  strTitle  +   " ' "   +   " ) " );
 9              
10                   set ( false );
11             
12               
13 
14          }
15      }

 

 

 

获得博客id

 

 

1     public   int  GetBlogID()
2      {
3           int  BlogID  =   3 ;
4           return  BlogID;
5      }

 

 

 

 

 获得用户Id

 

ExpandedBlockStart.gif 代码
 1  public   int  GetUserID()
 2      {
 3           int  userID  =   0 ;
 4           int  BlogId  =   GetBlogID();
 5           try
 6          {
 7              DataSet ds  =  obj.getdatabydataset( " select User_id from BlogManage where Blog_id= "   +   " ' "   +  BlogId  +   " ' " );
 8                
 9              userID  =  Convert.ToInt32(ds.Tables[ 0 ].Rows[ 0 ][ 0 ].ToString());
10 
11          }
12           catch  (Exception ee)
13          {
14              Response.Write( " <script>alert(' "   +  ee.Message  +   " ');</script> " );
15          }
16   
17           return  userID;
18      }

 

自动获取ID

 

ExpandedBlockStart.gif 代码
 1  public   int  AutoID( string  tableName,  string  colName)
 2      {
 3           int  voteValueID  =   0 ;
 4           
 5           try
 6          {
 7              DataSet ds  =  obj.getdatabydataset( " select Max( "   +  colName  +   " )from "   +   "   "   +  tableName);
 8              voteValueID   = Convert.ToInt32(ds.Tables[ 0 ].Rows[ 0 ][ 0 ].ToString());
 9 
10          }
11           catch  (Exception ee)
12          {
13              Response.Write( " <script>alert(' "   +  ee.Message  +   " ');</script> " );
14          }
15       
16           return  voteValueID;
17 
18      }
19 

 

 

 

 插入投票选项:

 

ExpandedBlockStart.gif 代码
 1    #region   插入投票选项
 2      protected   void  insertvoteItem_Click( object  sender, ImageClickEventArgs e)
 3      {
 4           int  VoteItemID  =  AutoID( " VoteItem " , " VoteItem_id  " );  // 获取投票主题的id
 5           string  voteItemContext  =  tbVoteItem.Text;
 6           string  sqlCmd  =   " insert into VoteSelect(VoteItem_id,VoteSelect) values( "   +   " ' "   +  VoteItemID  +   " ' "   +   " , "   +   " ' "   +  voteItemContext  +   " ' "   +   " ) " ;
 7           if  (voteItemContext  !=   "" )
 8              obj.ExecuteSql(sqlCmd);
 9          Bind(VoteItemID);
10          tbVoteItem.Text  =   "" ;
11      }
12      #endregion

 

 

 绑定listbox控件

 

ExpandedBlockStart.gif 代码
 1  #region  绑定listbox控件
 2 
 3       public   void  Bind(  int  VoteItemID)
 4      {
 5          DataSet ds  =  obj.getdatabydataset( " select VoteSelect_id,VoteSelect from VoteSelect where VoteItem_id =  "   +   " ' "   +  VoteItemID  +   " ' "   );
 6 
 7          voteItems.DataSource  =  ds;
 8          voteItems.DataTextField  =   " VoteSelect " ;
 9          voteItems.DataValueField  =   " VoteSelect_id " ;
10          voteItems.DataBind();
11 
12      }
13 
14       #endregion

 

 

 

移除投票选项

 

ExpandedBlockStart.gif 代码
1  #region   移除投票选项
2       protected   void  Remove_Click( object  sender, ImageClickEventArgs e)
3      {
4           int  VoteItemID  =  AutoID( " VoteItem " " VoteItem_id  " );  //
5           string  GetVoteItem  =  voteItems.SelectedItem.Text;
6          obj.ExecuteSql( " delete from VoteSelect where VoteSelect=  "   + " ' "   +  GetVoteItem  +   " ' " );
7        Bind(VoteItemID);
8      }
9       #endregion

 

 

 

心得:在做此系统时,由于自己的粗心,导致之前所做的都白费功夫,从这一点,得到这么一点启示:凡事都要认真,最重要的是要做好数据备份。

添加投票的步骤如下:

1,获取博客ID,因为我们是根据博客ID来获取用户ID的

2,获取用户ID

3,根据用户ID,将投票主题插入到数据库

4,读取此时插入投票主题的ID

5,根据投票主题的ID来插入投票选项

6,在listbox控件中,根据投票主题ID来对投票选项进行绑定

7,选择要移除的投票选项,

8,单击移除按钮,将投票选项删除。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值