做一个投票系统,有一个radionButtonList,有3个选择项,如果投一票,则在数据库中对于的加1?
rblVoteItem.DataTextField = "voteItem";
rblVoteItem.DataValueField = "voteDetailID";
rblVoteItem.DataSource = drItem;
cmdVote.CommandText = "update voteDetails set voteNum=voteNum+1 where voteDetailID="+rblVoteItem.SelectedValue;
cmdVote.ExecuteNonQuery();
每次执行都提示“=附近有错误”?
rblVoteItem.DataTextField = "voteItem";
rblVoteItem.DataValueField = "voteDetailID";
rblVoteItem.DataSource = drItem;
cmdVote.CommandText = "update voteDetails set voteNum=voteNum+1 where voteDetailID="+rblVoteItem.SelectedValue;
cmdVote.ExecuteNonQuery();
每次执行都提示“=附近有错误”?
这局有错..
你调试到这里的时候看看那SelectedValue有没有值
voteDetailID这个是什么类型可能要加单引号
cmdVote.CommandText = "update voteDetails set voteNum=voteNum+1 where voteDetailID='"+rblVoteItem.SelectedValue +"'";
voteDetailID='"+Convert.ToInt32(rblVoteItem.SelectedValue)+"'";
你把最后改成这句试试
cmdVote.CommandText = "update voteDetails set voteNum=voteNum+1 where voteDetailID="+
Convert.ToInt32(rbVoteItem.SelectedItem.ToString);
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection con = DB.connString();
con.Open();
SqlCommand cmdTitle = con.CreateCommand();
cmdTitle.CommandText = "select voteTitle from voteMaster";
SqlDataReader dr = cmdTitle.ExecuteReader();
while (dr.Read())
{
drpTitle.Items.Add(dr["voteTitle"].ToString());
}
dr.Close(); SqlCommand cmdItem = con.CreateCommand();
cmdItem.CommandText = "select voteItem,voteDetailID from voteDetails where voteID=(select voteID from voteMaster where voteTitle='" + drpTitle.SelectedValue + "')";
SqlDataReader drItem = cmdItem.ExecuteReader();
rblVoteItem.DataTextField = "voteItem";
rblVoteItem.DataValueField = "voteDetailID";
rblVoteItem.DataSource = drItem;
rblVoteItem.DataBind();
drItem.Close();
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
SqlConnection conVote = DB.connString();
conVote.Open();
SqlCommand cmdVote = conVote.CreateCommand();
cmdVote.CommandText = "update voteDetails set voteNum=voteNum+1 where voteDetailID="+rblVoteItem.SelectedValue;
cmdVote.ExecuteNonQuery();
}
}数据信息:voteID,voteDetailID,voteNUm 都是int类型,voteItem,voteTitle是varchar类型的
cmdVote.CommandText = "update voteDetails set voteNum=voteNum+1 where voteDetailID="+Convert.ToInt32(rbVoteItem.SelectedItem.ToString());
都还不行吗?
找出错误了,是一定要把回发事件写在后台代码中:if(!IsPostback),我之前是在前台上面把“启用AutoPostback”选中了,但是这个好像没什么作用
怎么办啊?