⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vote.ascx.cs

📁 SQL数据库在App_Data下面 是sql格式的 用的时候只需要修改App_Code下面的DB字符串就可以了 有的代码我做了注释
💻 CS
字号:
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;
using System.Data.SqlClient;
//该源码首发自www.51aspx.com(51aspx.com)13:57 2008/10/7

public partial class MyController_vote : System.Web.UI.UserControl
{
    DB DBManager = new DB();
    private int ID = 0;
    private bool flag = false;
    public int IID
    { 
        set
        {
            ID = value;
        }
        get
        {
            return this.ID;
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        getID();
        getTitle();
        if (!Page.IsPostBack)
        {
            getItems();
        }
    }

    //取出标题的ID
    public void getID()
    {
        string sqlcon = "select id from voteConfig";
        string id=DBManager.executeGetReturn(sqlcon);

        if(ID==0)
            ID = Convert.ToInt32(id);
    }

    //取出标题
    public void getTitle()
    {
        string sqlcon="select voteTitle from voteMaster where id = " + ID;
        this.lblTitle.Text=DBManager.executeGetReturn(sqlcon);
    }

    //取出标题项目
    public void getItems()
    { 
        string sqlcon="select voteDetailsID,voteItem from voteDetails where id="+ID;
        SqlDataReader sdr=DBManager.getSdr(sqlcon);

        this.rBLVote.DataSource = sdr;
        this.rBLVote.DataTextField = "voteItem";
        this.rBLVote.DataValueField = "voteDetailsID";
        this.rBLVote.DataBind();
        DBManager.clear();
    }

    //取出是否限制IP
    public bool checkIP()
    {
        string sqlcon = "select voteIP from voteConfig where id=" + ID;
        int checkedIP = Convert.ToInt32(DBManager.executeGetReturn(sqlcon));
        if(checkedIP>0)
        {
            flag = true;
        }
        else
        {
            flag = false;
        }
        return flag;
    }

    //检查投票者IP是否存在
    public bool checkVoteIP()
    {
        //取得投票者的IP
        string ip = Convert.ToString(Request.UserHostAddress);

        string sqlcon = "select count(*) from voter where ip='" + ip + "' and id=" + ID;
        int result = Convert.ToInt32(DBManager.executeGetReturn(sqlcon));
        if(result>0)
        {
            flag = true;
        }
        else
        {
            flag = false;
        }
        return flag;
    }

    //检查投票者IP是否经过限定的时间
    public bool checkIPTime()
    {
        string getTime="select voteTime from voteConfig where id="+ID;
        int checkTime=Convert.ToInt32(DBManager.executeGetReturn(getTime));

        string sqlcon="select datediff(s,voterTime,getdate()) from voter where id="+ID+"and ip='"+Request.UserHostAddress+"'";
        long voterTime=Convert.ToInt64(DBManager.executeGetReturn(sqlcon));
        if(voterTime<checkTime*60)
        {
            flag=true;
        }
        else
        {
            flag=false;
        }
        return flag;
    }

    //提交按钮命令
    protected void btntijiao_Click(object sender, EventArgs e)
    {
        //如果限制IP投票
        if(checkIP())
        {
            //如果IP存在
            if (checkVoteIP())
            {
                //如果IP的投票时间没有经过限定的时间   不可以投票
                if (checkIPTime())
                {
                    this.lblMessage.Text = "请在24小时之后再投票,谢谢合作.";
                }
                //如果IP的投票时间经过限定的时间   可以投票
                else
                {
                    //更新投票从表  项目表
                    string sqlUpDateVoteDetails = "update voteDetails set voteNum=voteNum+1 where voteDetailsID=" + this.rBLVote.SelectedValue;
                    //更新投票信息表
                    string sqlUpDateVoter = "update voter set voterTime=getdate(),voterNum=voterNum+1 where id=" + ID + "and ip='" + Request.UserHostAddress.ToString() + "'";

                    string[] arrsql = new string[2];
                    arrsql[0] = sqlUpDateVoteDetails;
                    arrsql[1] = sqlUpDateVoter;
                    if (DBManager.executeTransaction(arrsql))
                    {
                        this.lblMessage.Text = "投票成功,谢谢您的再一次投票.";
                    }
                    else
                    {
                        this.lblMessage.Text = "错误出现----投票成功,谢谢您的再一次投票.";
                    }
                }
            }
            //如果IP不存在
            else
            {
                //更新投票从表  项目表
                string sqlUpDateVoteDetails = "update voteDetails set voteNum=voteNum+1 where voteDetailsID=" + this.rBLVote.SelectedValue;
                //添加新的信息到投票信息表
                string sqlUpDateVoter = "insert into voter(id,ip) values(" + ID + ",'" + Request.UserHostAddress + "')";

                string[] arrsql = new string[2];
                arrsql[0] = sqlUpDateVoteDetails;
                arrsql[1] = sqlUpDateVoter;
                if (DBManager.executeTransaction(arrsql))
                {
                    this.lblMessage.Text = "这是您的第一次投票,投票成功.";
                }
                else
                {
                    this.lblMessage.Text = "错误出现----这是您的第一次投票,投票成功.";
                }
            }
        }
        else//如果不限制IP投票
        {

            //更新投票从表  项目表
            string sqlUpDateVoteDetails = "update voteDetails set voteNum=voteNum+1 where voteDetailsID=" + this.rBLVote.SelectedValue;
            //如果投票者的IP存在  投票者已经投过票
            if (checkVoteIP())
            {
                //更新投票信息表
                string sqlUpDateVoter = "update voter set voterTime=getdate(),voterNum=voterNum+1 where id=" + ID + "and ip='" + Request.UserHostAddress.ToString() + "'";

                string[] arrsql = new string[2];
                arrsql[0] = sqlUpDateVoteDetails;
                arrsql[1] = sqlUpDateVoter;
                if (DBManager.executeTransaction(arrsql))
                {
                    this.lblMessage.Text = "投票成功,谢谢您的再一次投票,系统不限制IP.";
                }
                else
                {
                    this.lblMessage.Text = "错误出现----投票成功,谢谢您的再一次投票,系统不限制IP.";
                }
            }
            //如果投票者的IP不存在  投票者第一次投票
            //更新投票从表  项目表
            else
            {
                //添加新的信息到投票信息表
                string sqlUpDateVoter = "insert into voter(id,ip) values(" + ID + ",'" + Request.UserHostAddress + "')";

                string[] arrsql = new string[2];
                arrsql[0] = sqlUpDateVoteDetails;
                arrsql[1] = sqlUpDateVoter;
                if (DBManager.executeTransaction(arrsql))
                {
                    this.lblMessage.Text = "这是您的第一次投票,投票成功,系统不限制IP.";
                }
                else
                {
                    this.lblMessage.Text = "错误出现----这是您的第一次投票,投票成功,系统不限制IP.";
                }
            }
        }
    }

    protected void btnResult_Click(object sender, EventArgs e)
    {
        Response.Redirect("showResult.aspx?id="+ID);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -