private void butBornCode_Click(object sender, System.EventArgs e)
{
int delCount=0;
foreach(DataGridItem dgi in dgBatchC.Items)
{
CheckBox cb = (CheckBox)dgi.FindControl("CheckSel");
if(cb.Checked)
{
int bid =Convert.ToInt32(dgi.Cells[0].Text);//批次编号
string proNum=Convert.ToString(dgi.Cells[7].Text);//名称
int prestoNum=Convert.ToInt32(dgi.Cells[4].Text)-1;//流水号
int b=Convert.ToInt32(dgi.Cells[5].Text);//数量
for(int a=0;a<b;a++)
{
string strCon = System.Configuration.ConfigurationSettings.AppSettings["conn"];//从Web.config中读取
SqlConnection conn =new SqlConnection(strCon);
string strCreatCode="select replace(cast(right(rand(),4) as varchar)+''+cast(right(rand(),4) as varchar)+''+cast(right(rand(),4) as varchar)+''+cast(right(rand(),4) as varchar),'.',substring(cast(rand() as varchar),3,1))";
SqlCommand com = new SqlCommand(strCreatCode,conn);
conn.Open();
string strCode=Convert.ToString(com.ExecuteScalar());//???
this.BindData();
string prest=Convert.ToString(prestoNum++);//流水号加1
string strSql="insert into Fret (fretcode,ProNum.,PrestoNum,Bid,Queryfrequency) values ('"+strCode+"','"+proNum+"','"+prest+"','"+bid+"',default)";
ExecuteSql(strSql);
conn.Close();
}
delCount++;
}
}
if(delCount!=0)
{
Page.Response.Write("<script language=javascript>alert('防伪码已生成!');</script>");
this.BindData();
}
else
{
Page.Response.Write("<script language=javascript>alert('请先选择要操作的项!');</script>");
}
}
private void ExecuteSql(string strSql)
{
try
{
string strCon = System.Configuration.ConfigurationSettings.AppSettings["conn"];//从Web.config中读取
SqlConnection conn =new SqlConnection(strCon);
SqlCommand com = new SqlCommand(strSql,conn);
conn.Open();
com.ExecuteNonQuery();
this.BindData();
conn.Close();
}
catch(Exception e)
{
Response.Write("<script language = 'javascript'>alert('"+e.Message+"');</script>") ;
}
}
怎么回事儿?C#错误:集合已修改;枚举操作可能无法执行。
集合已修改;枚举操作可能无法执行。{if (dr["主键"].ToString() == ""){ dt.Rows.Remove(dr);}}以查阅MSDN这个c#出错的原因是:foreach语句用于循环遍历集合以获取所需信息,但不能更改正在遍历的集合内容。可以用foreach遍历dt.Rows这个 ...
集合已修改;枚举操作可能不会执行。
集合已修改;枚举操作可能不会执行。 我来答 首页 在问 全部问题 娱乐休闲 游戏 旅游 教育培训 金融财经 医疗健康 科技 家电数码 政策法规 文化历史 时尚美容 情感心理 汽车 生活 职业 母婴 三农 互联网 生产制造 其他 日报 日报精选 日报广场 用户 认证用户 视频作者...
关于c#“集合已修改;可能无法执行枚举操作”错误
使用foreach不能执行删除、修改,这是规定。你可以使用for循环遍历修改。如果你是删除的话,for循环 i 要从大到小,比如:for(int i=50;i>=0;i--){}而不是 for(int i=0;i<=50;i++){}
...InvalidOperationException: 集合已修改;可能无法执行枚举操作...
你在对列表枚举的过程中改变了列表中的数量。
C#集合已修改,可能无法执行枚举操作
if(dt.Exist(id)) { dt.Remove(id);MessageBox.show('...');} 或者你直接在MessageBox.show(''');加一个break;
集合已修改;可能无法执行枚举操作。
可以遍历 Hashtable ht = new Hashtable();foreach (DictionaryEntry entry in ht){ } 是foreach遍历的时候不能修改 用for(int i=ht.Count-1;i>=0;i--)这种方式可以一边遍历,一边修改,要注意的是如果修改集合的话,ht.Count是会变化的,所以for(int i=0;i<ht.Count;i--)这种方式时的i...
急 集合已修改;可能无法执行枚举操作
如果是循环内部对集合的元素执行了删除、添加操作,就出现这种错误。不知“ads.DelAdmin(Admin_id);”这个是什么方法,如果是this.dlInfo.Items的删除操作,肯定是不行的。
...出现异常说集合已修改,可能无法执行枚举操作,求帮忙啊
有可能是多线程引起冲突,解决办法是使用线程安全的字典 ConcurrentDictionary<TKey, TValue> 类 http:\/\/msdn.microsoft.com\/zh-cn\/library\/dd287191.aspx 另外在foreach里面不能再修改foreach的list,这是常识,你可以先克隆一个list来遍历。
C# 集合已修改,枚举操作可能无法执行
longspeed2.Clear();\/\/是这句出的问题,跟foreach无关吧
集合已修改;可能无法执行枚举操作asp.net中
你在定义对象的时候要在class前面 加一句 [Serializable] 这样才行