1,数据库得设计(很简单,只是注意触发器得设置,他帮助用户修改Details表得时候主表得SUM同样被修改)
CREATE TABLE voteMaster (
voteID int primary key,--编号
voteTitle varchar(100) NOT NULL ,--项目
voteSum int default 0--总票数
) 
insert into voteMaster values*(1,'选举工会主席',0);
insert into voteMaster values*(1,'对网站建设得意见',0);
CREATE TABLE voteDetails(
voteID int foreign key references voteMaster(voteID),
voteDetailsID int NOT NULL ,
voteItem varchar20 NOT NULL ,
voteNum int default 0,
primary key(voteID,voteDetailsID)
) 

insert into voteDetails values (1,1,'人1',0);
insert into voteDetails values (1,2,'人2',0);
insert into voteDetails values (1,3,'人3',0);
insert into voteDetails values (1,4,'人4',0);
insert into voteDetails values (2,1,'非常好',0);
insert into voteDetails values (2,2,'好',0);
insert into voteDetails values (2,3,'一般',0);
insert into voteDetails values (2,4,'很差',0);
--建立触发器。使得当Detail里边的每个用户加1的时候Master中的SUM也加1
create trigger updateMaster
on voteDetails
for update
as begin
update voteMaster set voteSum=voteSum+1 where voteID=(select top 1 voteID from inserted)
end
2.界面得设计.不用多介绍一个标签,一个 CheckBoxList两个BUTTON
| 选举工会主席(label中数据由数据库提出) | ||||
|
||||
3.后台代码:
DB.CS 设置数据库连接
1
using System;
2
using System.Data;
3
using System.Configuration;
4
using System.Web;
5
using System.Web.Security;
6
using System.Web.UI;
7
using System.Web.UI.WebControls;
8
using System.Web.UI.WebControls.WebParts;
9
using System.Web.UI.HtmlControls;
10
using System.Data.SqlClient;
11
12
public class DB
13
{
14
public DB()
15
{}
16
public static SqlConnection creatConnection()
17
{
18
SqlConnection conn = new SqlConnection("Data Source=localhost;Initial Catalog =login; Integrated Security =True");
19
return conn;
20
}
21
}
22
using System;2
using System.Data;3
using System.Configuration;4
using System.Web;5
using System.Web.Security;6
using System.Web.UI;7
using System.Web.UI.WebControls;8
using System.Web.UI.WebControls.WebParts;9
using System.Web.UI.HtmlControls;10
using System.Data.SqlClient;11

12
public class DB13
{14
public DB()15
{}16
public static SqlConnection creatConnection()17
{18
SqlConnection conn = new SqlConnection("Data Source=localhost;Initial Catalog =login; Integrated Security =True");19
return conn;20
}21
}22

vote.aspx.cs
1
using System;
2
using System.Data;
3
using System.Configuration;
4
using System.Web;
5
using System.Web.Security;
6
using System.Web.UI;
7
using System.Web.UI.WebControls;
8
using System.Web.UI.WebControls.WebParts;
9
using System.Web.UI.HtmlControls;
10
using System.Data.SqlClient;
11
12
public partial class _Default : System.Web.UI.Page
13
{
14
private string voteID = "1";
15
protected void Page_Load(object sender, EventArgs e)
16
{
17
//判断是否是第一次登陆,如果不是就不进行数据库操作
18
if (!IsPostBack)
19
{
20
21
SqlConnection conn = DB.creatConnection();
22
conn.Open();
23
//作用:把题目查出来放到标题栏位上去
24
SqlCommand cmd = new SqlCommand("select voteTitle from voteMaster where voteID = " + this.voteID, conn);
25
//返回首行首列并将其修改为String类型
26
string title = Convert.ToString(cmd.ExecuteScalar());
27
LebalTitle.Text = title;
28
//查询对应得选举投票条目
29
SqlCommand cmdItem = new SqlCommand("select voteDetailsID,voteItem from voteDetails where voteID = " + this.voteID, conn);
30
SqlDataReader sdr = cmdItem.ExecuteReader();
31
RadioButtonItems.DataSource = sdr;
32
//显示得是值,但是他得VALUE实际上是一个ID.
33
RadioButtonItems.DataTextField = "voteItem";
34
RadioButtonItems.DataValueField = "voteDetailsID";
35
RadioButtonItems.DataBind();
36
sdr.Close();
37
conn.Close();
38
}
39
40
}
41
protected void ButtonVote_Click(object sender, EventArgs e)
42
{
43
SqlConnection conn = DB.creatConnection();
44
conn.Open();
45
SqlCommand cmd = new SqlCommand();
46
cmd.Connection = conn;
47
cmd.CommandText = "update voteDetails set voteNum=voteNum+1 where voteID=" + voteID + " and voteDetailsID = " + RadioButtonItems.SelectedValue;
48
cmd.ExecuteNonQuery();
49
conn.Close();
50
}
51
protected void ButtonResult_Click(object sender, EventArgs e)
52
{
53
Response.Redirect("showResult.aspx?voteid="+voteID);
54
}
55
}
56
using System;2
using System.Data;3
using System.Configuration;4
using System.Web;5
using System.Web.Security;6
using System.Web.UI;7
using System.Web.UI.WebControls;8
using System.Web.UI.WebControls.WebParts;9
using System.Web.UI.HtmlControls;10
using System.Data.SqlClient;11

12
public partial class _Default : System.Web.UI.Page 13
{14
private string voteID = "1";15
protected void Page_Load(object sender, EventArgs e)16
{17
//判断是否是第一次登陆,如果不是就不进行数据库操作18
if (!IsPostBack)19
{20

21
SqlConnection conn = DB.creatConnection();22
conn.Open();23
//作用:把题目查出来放到标题栏位上去24
SqlCommand cmd = new SqlCommand("select voteTitle from voteMaster where voteID = " + this.voteID, conn);25
//返回首行首列并将其修改为String类型26
string title = Convert.ToString(cmd.ExecuteScalar());27
LebalTitle.Text = title;28
//查询对应得选举投票条目29
SqlCommand cmdItem = new SqlCommand("select voteDetailsID,voteItem from voteDetails where voteID = " + this.voteID, conn);30
SqlDataReader sdr = cmdItem.ExecuteReader();31
RadioButtonItems.DataSource = sdr;32
//显示得是值,但是他得VALUE实际上是一个ID.33
RadioButtonItems.DataTextField = "voteItem";34
RadioButtonItems.DataValueField = "voteDetailsID";35
RadioButtonItems.DataBind();36
sdr.Close();37
conn.Close();38
}39
40
}41
protected void ButtonVote_Click(object sender, EventArgs e)42
{43
SqlConnection conn = DB.creatConnection();44
conn.Open();45
SqlCommand cmd = new SqlCommand();46
cmd.Connection = conn;47
cmd.CommandText = "update voteDetails set voteNum=voteNum+1 where voteID=" + voteID + " and voteDetailsID = " + RadioButtonItems.SelectedValue;48
cmd.ExecuteNonQuery();49
conn.Close();50
}51
protected void ButtonResult_Click(object sender, EventArgs e)52
{53
Response.Redirect("showResult.aspx?voteid="+voteID);54
}55
}56

1
using 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
public partial class showResult : System.Web.UI.Page
13
{
14
protected void Page_Load(object sender, EventArgs e)
15
{
16
string voteID = Request.QueryString["voteid"].ToString();
17
SqlConnection conn = DB.creatConnection();
18
conn.Open();
19
//查询对应得选举投票条目
20
SqlCommand cmdItem = new SqlCommand("select * from voteDetails where voteID = " + voteID, conn);
21
//ExecuteReader()得到返回得所有得一个结果集合
22
SqlDataReader sdr = cmdItem.ExecuteReader();
23
while (sdr.Read())
24
{
25
Response.Write("<font size=15>"+sdr.GetString(2)+"-"+sdr.GetInt32(3).ToString()+"</font><br>");
26
}
27
sdr.Close();
28
conn.Close();
29
30
}
31
}
32
using 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
public partial class showResult : System.Web.UI.Page13
{14
protected void Page_Load(object sender, EventArgs e)15
{16
string voteID = Request.QueryString["voteid"].ToString();17
SqlConnection conn = DB.creatConnection();18
conn.Open();19
//查询对应得选举投票条目20
SqlCommand cmdItem = new SqlCommand("select * from voteDetails where voteID = " + voteID, conn);21
//ExecuteReader()得到返回得所有得一个结果集合 22
SqlDataReader sdr = cmdItem.ExecuteReader();23
while (sdr.Read())24
{25
Response.Write("<font size=15>"+sdr.GetString(2)+"-"+sdr.GetInt32(3).ToString()+"</font><br>");26
}27
sdr.Close();28
conn.Close();29
30
}31
}32

4.另外,要在点击BUTTON的时候判断一串CHECKBOX哪些被选中,则用CHECKBOXLIST加以下代码:
1
protected void Button1_Click(object sender, EventArgs e)
2
{
3
for (int i = 0; i < CheckBoxList1.Items.Count - 1; i++)
4
{
5
if(this.CheckBoxList1.Items[i].Selected) {
6
Response.Write(this.CheckBoxList1.Items[i].Value.ToString()+"-"+CheckBoxList1.Items[i].Text.ToString());
7
}
8
9
}
10
}
protected void Button1_Click(object sender, EventArgs e)2
{3
for (int i = 0; i < CheckBoxList1.Items.Count - 1; i++)4
{5
if(this.CheckBoxList1.Items[i].Selected) {6
Response.Write(this.CheckBoxList1.Items[i].Value.ToString()+"-"+CheckBoxList1.Items[i].Text.ToString());7
}8

9
}10
}


浙公网安备 33010602011771号