好的,所以我想打开一个新表格,如果还没有打开.所以我根据表格的标题或文字检查表格.现在,到目前为止,它的工作原理,如表格打开,如果它已经打开,它只是将它带到前面.但我的问题是,如果它没有打开,我尝试创建它的新实例,它会抛出"收集被修改;枚举操作可能无法执行".而我无法为我的生活找出原因.任何帮助表示赞赏.
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) 每当我尝试在此表中插入一个新行时,它就会给我一个错误,即我无法修改该列(因为它是主键).所以我从查询中排除它,但它返回查询和列数不同.如何使用主键添加行?
这是要插入的代码:
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)我得到此错误...