C#中查询while循环里面加数据库更新语句

  MySqlCommand cmd3 = new MySqlCommand("select * from lotnum_rec ", conn);
            
            MySqlDataReader reader3 = cmd3.ExecuteReader();
            while (reader3.Read())
            {
                int id = reader3.GetInt32("id");
                MySqlCommand cmd6 = new MySqlCommand("update user set name='张三' where id=" + id, conn);
                cmd6.ExecuteNonQuery();
            }
            reader3.Close();
MySql.Data.MySqlClient.MySqlException:“There is already an open DataReader associated with this Connection which must be closed first.”

 

重新生成一个MySqlConnection对象,command使用新的connection对象

 

使用reader对象,必须先关闭reader后才能使用和reader相关的connection。要么reader改成datatable