小编Dr *_*her的帖子

集合被修改枚举操作可能无法执行

好的,所以我想打开一个新表格,如果还没有打开.所以我根据表格的标题或文字检查表格.现在,到目前为止,它的工作原理,如表格打开,如果它已经打开,它只是将它带到前面.但我的问题是,如果它没有打开,我尝试创建它的新实例,它会抛出"收集被修改;枚举操作可能无法执行".而我无法为我的生活找出原因.任何帮助表示赞赏.

foreach (DataRow iRow in chatcheck.Rows)
{
   FormCollection fc = Application.OpenForms;
   foreach (Form f in fc)
   {
      if (f.Text != ChatReader["Sender"].ToString())
      {

         ChatBox chat = new ChatBox();
         Connection.ConnectionStrings.chatopen = ChatReader["Sender"].ToString();
         chat.Text = Connection.ConnectionStrings.chatopen;
         chat.Show();
         chat.BringToFront();

      }
      else if (f.Text == ChatReader["Sender"].ToString())
      {
              f.BringToFront();
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

c# datatable foreach openform sqldataadapter

2
推荐指数
1
解决办法
2万
查看次数

在SQL数据库中插入新行因主键无法访问

每当我尝试在此表中插入一个新行时,它就会给我一个错误,即我无法修改该列(因为它是主键).所以我从查询中排除它,但它返回查询和列数不同.如何使用主键添加行?

这是要插入的代码:

var getmessages = new SqlCeCommand("Insert into chat values('" + txtSend.Text + "', '" + Environment.UserName + "', '" + user + "', '" + Environment.UserName + "', '" + DateTime.Now.ToShortTimeString() + "', '" + DateTime.Now.ToString() + "', '"+UID+"')", con);
Run Code Online (Sandbox Code Playgroud)

这是我通过查询添加的主键(因为它是对数据库的更新)...

alter table chat add c_id int identity primary key
Run Code Online (Sandbox Code Playgroud)

然后它抛出了我的错误 在此输入图像描述

如果我从插入查询中删除(UID)我得到此错误...

在此输入图像描述

c# sql database sql-server

0
推荐指数
1
解决办法
1382
查看次数

标签 统计

c# ×2

database ×1

datatable ×1

foreach ×1

openform ×1

sql ×1

sql-server ×1

sqldataadapter ×1