一。首先设计页面:
还是先看一下表:
二。类代码如下:
public class db
{
public db()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public static SqlDataReader Getdatareader(string sql )
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["dianyingConnectionString"].ConnectionString);
con.Open();
SqlCommand cmd = new SqlCommand(sql , con);
return ( cmd.ExecuteReader());
}
public static void cmdExecute(string sql)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["dianyingConnectionString"].ConnectionString);
con.Open();
SqlCommand cmd = new SqlCommand(sql, con);
cmd.ExecuteNonQuery();
}
}
三。实现功能的源代码如下 :
public partial class toupiao : System.Web.UI.Page
{
public SqlDataReader dr;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
dr = db.Getdatareader("select * from vote");
RadioButtonList1.DataTextField = "voteItem";
RadioButtonList1.DataValueField = "voteId";
RadioButtonList1.DataSource = dr;
RadioButtonList1.DataBind();
}
}
protected void Button1_Click(object sender, EventArgs e)
{
db.cmdExecute("update vote set voteCount=voteCount+1 where voteId=" +RadioButtonList1.SelectedValue .ToString ()+ "");
Label2.Visible = true;
Label2.Text = "投票成功!";
}
protected void Button2_Click(object sender, EventArgs e)
{
Label3.Visible = true;
dr = db.Getdatareader("select * from vote");//我认为这里要注意,如果不是用*,而是voteItem,voteId.那么后面就是要改dr.GetString(1) + dr.GetInt32(2).ToString()+,把1改0,2改1。我第一次做的时候这个索引就没弄好,害我想老半天,老是提示说格式转换不对,郁闷啊!!!
RadioButtonList1.Visible = false;
Label3.Text = "";
while (dr.Read())//我又犯了一次误,把while写成if ,我说怎么奇怪只显示一行呢? 我今天怎么了???傻了吧。难怪我最近老觉得我智商在下降》走远了,啊。不好意思!!嘻嘻^_^ 我好像没信心!
{
Label3.Text=Label3.Text+ dr.GetString(1) + dr.GetInt32(2).ToString()+ "<br>";
}
}
}
这样就可以了。看看效果吧!
看看单击结果后的结果吧!