温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:入门级的投票系统源码
当前文件:
QuikStartVote/MyController/vote.ascx.cs[7K,2009-6-12 11:52:49],打开代码结构图
QuikStartVote/MyController/vote.ascx.cs[7K,2009-6-12 11:52:49],打开代码结构图1using System; 2
using System.Data; 3
using System.Configuration; 4
using System.Collections; 5
using System.Web; 6
using System.Web.Security; 7
using System.Web.UI; 8
using System.Web.UI.WebControls; 9
using System.Web.UI.WebControls.WebParts; 10
using System.Web.UI.HtmlControls; 11
using System.Data.SqlClient; 12
//该源码首发自www.51aspx.com(51aspx.com)13:57 2008/10/7 13
14
public partial class MyController_vote : System.Web.UI.UserControl 15
{ 16
DB DBManager = new DB(); 17
private int ID = 0; 18
private bool flag = false; 19
public int IID 20
{ 21
set 22
{ 23
ID = value; 24
} 25
get 26
{ 27
return this.ID; 28
} 29
} 30
protected void Page_Load(object sender, EventArgs e) 31
{ 32
getID(); 33
getTitle(); 34
if (!Page.IsPostBack) 35
{ 36
getItems(); 37
} 38
} 39
40
//取出标题的ID 41
public void getID() 42
{ 43
string sqlcon = "select id from voteConfig"; 44
string id=DBManager.executeGetReturn(sqlcon); 45
46
if(ID==0) 47
ID = Convert.ToInt32(id); 48
} 49
50
//取出标题 51
public void getTitle() 52
{ 53
string sqlcon="select voteTitle from voteMaster where id = " + ID; 54
this.lblTitle.Text=DBManager.executeGetReturn(sqlcon); 55
} 56
57
//取出标题项目 58
public void getItems() 59
{ 60
string sqlcon="select voteDetailsID,voteItem from voteDetails where id="+ID; 61
SqlDataReader sdr=DBManager.getSdr(sqlcon); 62
63
this.rBLVote.DataSource = sdr; 64
this.rBLVote.DataTextField = "voteItem"; 65
this.rBLVote.DataValueField = "voteDetailsID"; 66
this.rBLVote.DataBind(); 67
DBManager.clear(); 68
} 69
70
//取出是否限制IP 71
public bool checkIP() 72
{ 73
string sqlcon = "select voteIP from voteConfig where id=" + ID; 74
int checkedIP = Convert.ToInt32(DBManager.executeGetReturn(sqlcon)); 75
if(checkedIP>0) 76
{ 77
flag = true; 78
} 79
else 80
{ 81
flag = false; 82
} 83
return flag; 84
} 85
86
//检查投票者IP是否存在 87
public bool checkVoteIP() 88
{ 89
//取得投票者的IP 90
string ip = Convert.ToString(Request.UserHostAddress); 91
92
string sqlcon = "select count(*) from voter where ip='" + ip + "' and id=" + ID; 93
int result = Convert.ToInt32(DBManager.executeGetReturn(sqlcon)); 94
if(result>0) 95
{ 96
flag = true; 97
} 98
else 99
{ 100
flag = false; 101
} 102
return flag; 103
} 104
105
//检查投票者IP是否经过限定的时间 106
public bool checkIPTime() 107
{ 108
string getTime="select voteTime from voteConfig where id="+ID; 109
int checkTime=Convert.ToInt32(DBManager.executeGetReturn(getTime)); 110
111
string sqlcon="select datediff(s,voterTime,getdate()) from voter where id="+ID+"and ip='"+Request.UserHostAddress+"'"; 112
long voterTime=Convert.ToInt64(DBManager.executeGetReturn(sqlcon)); 113
if(voterTime<checkTime*60) 114
{ 115
flag=true; 116
} 117
else 118
{ 119
flag=false; 120
} 121
return flag; 122
} 123
124
//提交按钮命令 125
protected void btntijiao_Click(object sender, EventArgs e) 126
{ 127
//如果限制IP投票 128
if(checkIP()) 129
{ 130
//如果IP存在 131
if (checkVoteIP()) 132
{ 133
//如果IP的投票时间没有经过限定的时间 不可以投票 134
if (checkIPTime()) 135
{ 136
this.lblMessage.Text = "请在24小时之后再投票,谢谢合作."; 137
} 138
//如果IP的投票时间经过限定的时间 可以投票 139
else 140
{ 141
//更新投票从表 项目表 142
string sqlUpDateVoteDetails = "update voteDetails set voteNum=voteNum+1 where voteDetailsID=" + this.rBLVote.SelectedValue; 143
//更新投票信息表 144
string sqlUpDateVoter = "update voter set voterTime=getdate(),voterNum=voterNum+1 where id=" + ID + "and ip='" + Request.UserHostAddress.ToString() + "'"; 145
146
string[] arrsql = new string[2]; 147
arrsql[0] = sqlUpDateVoteDetails; 148
arrsql[1] = sqlUpDateVoter; 149
if (DBManager.executeTransaction(arrsql)) 150
{ 151
this.lblMessage.Text = "投票成功,谢谢您的再一次投票."; 152
} 153
else 154
{ 155
this.lblMessage.Text = "错误出现----投票成功,谢谢您的再一次投票."; 156
} 157
} 158
} 159
//如果IP不存在 160
else 161
{ 162
//更新投票从表 项目表 163
string sqlUpDateVoteDetails = "update voteDetails set voteNum=voteNum+1 where voteDetailsID=" + this.rBLVote.SelectedValue; 164
//添加新的信息到投票信息表 165
string sqlUpDateVoter = "insert into voter(id,ip) values(" + ID + ",'" + Request.UserHostAddress + "')"; 166
167
string[] arrsql = new string[2]; 168
arrsql[0] = sqlUpDateVoteDetails; 169
arrsql[1] = sqlUpDateVoter; 170
if (DBManager.executeTransaction(arrsql)) 171
{ 172
this.lblMessage.Text = "这是您的第一次投票,投票成功."; 173
} 174
else 175
{ 176
this.lblMessage.Text = "错误出现----这是您的第一次投票,投票成功."; 177
} 178
} 179
} 180
else//如果不限制IP投票 181
{ 182
183
//更新投票从表 项目表 184
string sqlUpDateVoteDetails = "update voteDetails set voteNum=voteNum+1 where voteDetailsID=" + this.rBLVote.SelectedValue; 185
//如果投票者的IP存在 投票者已经投过票 186
if (checkVoteIP()) 187
{ 188
//更新投票信息表 189
string sqlUpDateVoter = "update voter set voterTime=getdate(),voterNum=voterNum+1 where id=" + ID + "and ip='" + Request.UserHostAddress.ToString() + "'"; 190
191
string[] arrsql = new string[2]; 192
arrsql[0] = sqlUpDateVoteDetails; 193
arrsql[1] = sqlUpDateVoter; 194
if (DBManager.executeTransaction(arrsql)) 195
{ 196
this.lblMessage.Text = "投票成功,谢谢您的再一次投票,系统不限制IP."; 197
} 198
else 199
{ 200
this.lblMessage.Text = "错误出现----投票成功,谢谢您的再一次投票,系统不限制IP."; 201
} 202
} 203
//如果投票者的IP不存在 投票者第一次投票 204
//更新投票从表 项目表 205
else 206
{ 207
//添加新的信息到投票信息表 208
string sqlUpDateVoter = "insert into voter(id,ip) values(" + ID + ",'" + Request.UserHostAddress + "')"; 209
210
string[] arrsql = new string[2]; 211
arrsql[0] = sqlUpDateVoteDetails; 212
arrsql[1] = sqlUpDateVoter; 213
if (DBManager.executeTransaction(arrsql)) 214
{ 215
this.lblMessage.Text = "这是您的第一次投票,投票成功,系统不限制IP."; 216
} 217
else 218
{ 219
this.lblMessage.Text = "错误出现----这是您的第一次投票,投票成功,系统不限制IP."; 220
} 221
} 222
} 223
} 224
225
protected void btnResult_Click(object sender, EventArgs e) 226
{ 227
Response.Redirect("showResult.aspx?id="+ID); 228
} 229
}





DB DBManager 
}
}