dbClass m_dbclass = new dbClass();// dbClass是从朋友那里拿到的类库
  SqlDataReader m_reader = null;
string[] department = { "A", "B", "c", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M" };
            foreach (string department_name in department)
            {
                string Department_sql = "update 表名 set 字段名1='" + department_name + "'  ";
                m_reader = m_dbclass.getReader(Department_sql);              
            }
            DataTable m_dt = new DataTable();
            m_dt.Columns.Add("科室", typeof(string));
          
            if (m_reader.HasRows)
            {
                while (m_reader.Read())
                {
                    DataRow m_dr = m_dt.NewRow();                    m_dr[0] = m_reader["字段名1"].ToString().Trim();
                   
                    m_dt.Rows.Add(m_dr);
                }
            }
            dataGridView2.DataSource = m_dt;
现在我运行程序做完循环后,科室这一列所有值都变成“M”了,但是我想做到的效果是A到M的循环,也就是说在科室这一列是A,B,C,D,E,F.....M,A,B,C......这样的
请问我应该怎么修改??

解决方案 »

  1.   

    看看你这段循环
    foreach (string department_name in department)
      {
      string Department_sql = "update 表名 set 字段名1='" + department_name + "' ";
      m_reader = m_dbclass.getReader(Department_sql);    
      }
    for循环中都在更新同一个字段,知道更新到M为止,不是M才怪
      

  2.   

    to bdmh:
     我也知道毛病 但是怎么改呢??
     能麻烦讲解下么 
      

  3.   

    to bdmh:
     我又想用foreach循环,又想达到读一次就写一次的循环、、怎么搞啊
      

  4.   

    update 表 set 字段='' where id=12 连条件都没有,每次修改都是全部记录的操作
      

  5.   

    那LZ的加一个条件吧
    string Department_sql="";
    foreach (string department_name in department)
      {
       Department_sql+= "update 表名 set 字段名1='" + department_name + "' ";
      m_reader = m_dbclass.getReader(Department_sql);    
      }
      

  6.   

    to 闲的蛋疼:我就是想修改的是全部记录,但是修改完后结果是A.B.C.D...M.A.B类似这样的结果
      

  7.   

    LZ加我Q 我帮你解决 453367672
      

  8.   

    to zyloveyrf:在这里用+=是什么意思?恕我比较愚钝、
      

  9.   


    update后面没带任何条件,每次都会更新所有纪录,至到M
    你可以分块读到dataTable中,然后遍历更新数据,最后调用dt.Update