grideView名称:gvStudent
第一列放学号:stuSchoolID,第三列是模板列,三个radioButton控件,想把选择的结果写入到数据库,但结果每次只组写入第一行控件的值,后面的所有行的控件的值都和第一个控件的值选择的一样,(最后全部是理科,或者全部是文科,或者全部是特长,选中间行的一个控件改变值也没有效果)我看了半天也不知道问题出在什么地方,看得头都大了,大伙帮看看啊....明天学校就要要要....
急死了.....

解决方案 »

  1.   

    换了一下写法还是一样的错误
            SqlConnection conn = VsnowDB.createConnection();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conn;
                conn.Open();
            for (int i = 0; i < this.gvStudent.Rows.Count; i++)
            {
                string stuSchoolID = this.gvStudent.Rows[i].Cells[0].Text;
                string examTypeWill = null;
                RadioButton rbtnLiKe = (RadioButton)(this.gvStudent.Rows[i].FindControl("rbtnLiKe"));
                if (rbtnLiKe.Checked == true)
                {
                    examTypeWill = "理科";
                }
                RadioButton rbtnWenKe = (RadioButton)(this.gvStudent.Rows[i].FindControl("rbtnWenKe"));
                if (rbtnWenKe.Checked == true)
                {
                    examTypeWill = "文科";
                }
                RadioButton rbtnTeChang = (RadioButton)(this.gvStudent.Rows[i]).FindControl("rbtnTeChang");
                if (rbtnTeChang.Checked == true)
                {
                    examTypeWill = "特长";
                }
                cmd.CommandText = "update student set examTypeWill='" + examTypeWill + "' where stuSchoolID='" + stuSchoolID + "'";
                cmd.ExecuteNonQuery();            
            }
            //重新绑定        string stuGrade = this.ddlStuGrade.SelectedItem.Text;
            string stuClass = this.ddlStuClass.SelectedItem.Text;        DataSet ds = new DataSet();
            SqlDataAdapter sda = new SqlDataAdapter();        string cmdText = "select * from student where stuSchoolID like '" + stuGrade + stuClass + "%'";
            sda.SelectCommand = new SqlCommand(cmdText, conn);
            sda.Fill(ds, "student");
            this.gvStudent.DataSource = ds.Tables["student"];
            this.gvStudent.DataBind();
            this.btnUpdate.Visible = true;
           
            conn.Close();    }
      

  2.   

    首先你确定数据库中的值是否正确,然后打印ds.Tables["student"]的值,如果还正确就再在gvStudent的RowDataBound事件中设置断点分析一下值。你要是能够自己划分出错范围,提的问题就有针对性了。