做一个投票系统,有一个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();
每次执行都提示“=附近有错误”?

解决方案 »

  1.   

    update voteDetails set voteNum=voteNum+1 where voteDetailID="+rblVoteItem.SelectedValue; 
    这局有错..
    你调试到这里的时候看看那SelectedValue有没有值
    voteDetailID这个是什么类型可能要加单引号
      

  2.   

    不知道voteDetailID是类型的,如果是varchar的,添加个引号的
    cmdVote.CommandText = "update voteDetails set voteNum=voteNum+1 where voteDetailID='"+rblVoteItem.SelectedValue +"'"; 
      

  3.   

    cmdVote.CommandText = "update voteDetails set voteNum=voteNum+1 where voteDetailID="+rblVoteItem.SelectedValue.ToString()试试 
      

  4.   

    不是啊,我的那个voteDetailID是int类型的,这该怎么改呢?
      

  5.   

    cmdVote.CommandText = "update voteDetails set voteNum=voteNum+1 where voteDetailID='"+rblVoteItem.SelectedValue+"'";
      

  6.   

    把最后那句该为 Convert.Toint32(rblVoteItem.SelectedValue)
      

  7.   

    那就Convert.ToInt32(rbVoteItem.selectedValue)
      

  8.   

    我改成cmdVote.CommandText = "update voteDetails set voteNum=voteNum+1 where voteDetailID="+Convert.ToInt32(rblVoteItem.SelectedValue);错误信息:输入字符串的格式不正确?
      

  9.   

    输入字符串的格式不正确?那说明你的SelectedValue是字符串类型..而且你的
    voteDetailID='"+Convert.ToInt32(rblVoteItem.SelectedValue)+"'"; 
      

  10.   

    voteDetailID='"rblVoteItem.SelectedValue+"'"; 
      

  11.   

    Convert.ToInt32(rbVoteItem.SelectedItem.ToString)
    你把最后改成这句试试
      

  12.   

    voteDetailID='"+rblVoteItem.SelectedValue+"'"; 
      

  13.   

    改成: cmdVote.CommandText = "update voteDetails set voteNum=voteNum+1 where voteDetailID="+Convert.ToInt32(rblVoteItem.SelectedValue.ToString());仍然提示:输入的字符串格式不正确
      

  14.   

    如果你的这个voteDetailID字段不是字符型的话,你就不用加单引号的呀就直接
    cmdVote.CommandText = "update voteDetails set voteNum=voteNum+1 where voteDetailID="+
    Convert.ToInt32(rbVoteItem.SelectedItem.ToString);
      

  15.   

    我试了的,真的不行。我把代码不分都给你看:
    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类型的
      

  16.   

    这句 cmdVote.CommandText = "update voteDetails set voteNum=voteNum+1 where voteDetailID="+rblVoteItem.SelectedValue; 改为
     cmdVote.CommandText = "update voteDetails set voteNum=voteNum+1 where voteDetailID="+Convert.ToInt32(rbVoteItem.SelectedItem.ToString());
    都还不行吗? 
      

  17.   

    SelectedItem是一个类型..SelectedItem.Value
      

  18.   

    试了的,不行
    找出错误了,是一定要把回发事件写在后台代码中:if(!IsPostback),我之前是在前台上面把“启用AutoPostback”选中了,但是这个好像没什么作用
      

  19.   

    我在后台中加了IsPostback后,当选中下拉列表的另一个选项的时候它又不回发了?RadionButtonList中的选项又不重新加载了?
    怎么办啊?