SQL.TXT文件内容:
create database Vote
use Vote
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(2,'网站意见',0)
--select * from VoteMaster --插入的查询语句 真确插入了
create table VoteDetails
(
--id int identity(1,1) primary key ---自增一的一个主键
VoteID int foreign key references VoteMaster(VoteID), ---把VoteDetails表总的VoteID设置为外键,关联到主表
---VoteMaster中的VoteID
VoteDetailsID int not null,
VoteItem varchar(20) not null,
VoteNum int default 0
primary key (VoteID,VoteDetailsID) --设置联合主键的格式
)
insert into VoteDetails values (1,1,'陈欧',0) --插入数据库外键1表示选工会主席,后1主键一部分,陈欧选主的
--人,初时票为0票
insert into VoteDetails values(1,2,'黄小龟',0)
insert into VoteDetails values(1,3,'李小炮',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)
--select * from VoteDetails --查询VoteDetails表
--VoteDetails表的触发器,来实现VoteDetails表中投票的次数在主表中自动统计总和
create trigger updateMaster
on VoteDetails --这句是说在VoteDetails中建立触发器
for update --条件是更新
as
begin
update VoteMaster set VoteSum=VoteSum+1 where VoteID=(select top 1 VoteID from inserted)
end
------------------------------------------------
Vote.aspx页面
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;
public partial class vote : System.Web.UI.Page
{
//protected System.Web.UI.WebControls.Label lblTitle;
//protected System.Web.UI.WebControls.RadioButtonList rBtnItems;
//protected System.Web.UI.WebControls.Button btnVote;
//protected System.Web.UI.WebControls.Button btnShowResult;
private string VoteID = "1";
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
//创建连接
SqlConnection con = DB.createConnection();
con.Open();
//查询选举的标题
SqlCommand cmd = new SqlCommand("select VoteTitle from VoteMaster where VoteID=" + this.VoteID, con);
string title = Convert.ToString(cmd.ExecuteScalar()); //cmd.ExecuteScalar()返回的是对象型转换成字符串
this.lblTitle.Text = title;
//查询选举对应的投票条目
SqlCommand cmdItem = new SqlCommand("select VoteDetailsID,VoteItem from VoteDetails where VoteID="+this.VoteID,con);
SqlDataReader sdr = cmdItem.ExecuteReader();
rBtnItems.DataSource = sdr;
rBtnItems.DataValueField = "VoteDetailsID";
rBtnItems.DataTextField = "VoteItem";
rBtnItems.DataBind();
sdr.Close();
con.Close();
}
}
protected void btnVote_Click(object sender, EventArgs e)
{
SqlConnection con = DB.createConnection();
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "update VoteDetails set VoteNum=VoteNum+1 where VoteID=" + this.VoteID + "and VoteDetailsID=" + this.rBtnItems.SelectedValue.ToString();
cmd.ExecuteNonQuery();
con.Close();
}
protected void btnShowResult_Click(object sender, EventArgs e)
{
Response.Redirect("ShowResult.aspx?VoteID=" + this.VoteID);
}
}
------------------------------------------------
ShowResult.aspx页面
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;
public partial class ShowResult : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string VoteID = Request.QueryString["VoteID"].ToString();
SqlConnection con = DB.createConnection();
con.Open();
SqlCommand cmdItem = new SqlCommand("select * from VoteDetails where VoteID="+VoteID,con);
SqlDataReader sdr = cmdItem.ExecuteReader();
while (sdr.Read())
{
Response.Write("<font size='5' color='red'>" + sdr.GetString(2)+"--" + sdr.GetInt32(3) + "</font><br>");
}
con.Close();
}
}
浙公网安备 33010602011771号