SqlDataReader 为什么返回不了我修改后的数据???
for (int i = 0; i < GridView1.Rows.Count; i++)
         {
           if (check.Checked == true)
             {
                 SqlConnection sms_conn = new SqlConnection(study.sqlconn);
                 string SqlStr1 = "SELECT 课程.学科学分,学生.所得学分 from 课程,学生,学生选课表 where 课程.课程编号=学生选课表.课程编号 AND 学生.学号=学生选课表.学号 AND 课程.教师编号='" + study.number + "'";
                 if (sms_conn.State.ToString() == "Closed")
                 {//连接如果关闭,打开
                     sms_conn.Open();
                 }
                 SqlCommand cmd = new SqlCommand(SqlStr1, sms_conn);   //创建操作数据库对象
                 SqlDataReader sdr = cmd.ExecuteReader();        //执行查询,将结果放到DataReader对象
                 if (sdr.Read())                                 //如果查询到课程信息,显示
                 {
                     float xuekexuefen=float.Parse(sdr["学科学分"].ToString());
                     float suodexuefen =float.Parse(sdr["所得学分"].ToString());
                     float zongshu = xuekexuefen + suodexuefen;
                     string sql1 = "update 学生 set 所得学分 =  '" + zongshu + "' where 学号 = '" + ms + "'";
                     SqlCommand ud = new SqlCommand(sql1, sms_conn);                     
                     sms_conn.Close();
                 }                  
             }
         }
我想修改数据库的数据,用了上面的方法,但是就是修改不了,数据还是保持原样,请教各位大虾是什么原因啊???
------解决方案--------------------楼主第二个command对象ud 没有执行ud.ExecuteNonQuery()这个方法,这样可以执行UPDATE语句
------解决方案--------------------C# code
//LZ应多看些书,稍作修改,应该可以使用
if (sdr.Read()) //如果查询到课程信息,显示 
{ 
  float xuekexuefen=float.Parse(sdr["学科学分"].ToString()); 
  float suodexuefen =float.Parse(sdr["所得学分"].ToString()); 
  float zongshu = xuekexuefen + suodexuefen;    
  sdr.Close();
  string sql1 = "update 学生 set 所得学分 =  '" + zongshu + "' where 学号 = '" + ms + "'"; 
  int rows = cmd.ExecuteNonquery();            
  sms_conn.Close(); 
}