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();
    }
}

posted on 2006-11-07 00:56  小角色  阅读(438)  评论(4)    收藏  举报