C#违反并发性: DeleteCommand 影响了预期 1 条记录中的 0 条,该如何解决

konglingmiyu 2016-04-17 12:39:07
首先,我是将服务器数据库的表通过序列化传送到客户端,然后反序列化显示到客户端的datagridview,最后在进行删除操作时,第一次可以成功删除,第二次再进行删除的时候出现上述问题(我的表主键是自己程序实现递增的),求大神帮助解决
...全文
258 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
konglingmiyu 2016-04-18
  • 打赏
  • 举报
回复
if (_buffer[0] == 2)
                    {                        
                        byte[] buffer = new byte[65535];
                        int size_1 = stream.Read(buffer, 0, buffer.Length);
                        if (size_1 != 0)
                        {
                            ds = RetrieveDataSet(buffer);
                             //con.ConnectionString = connString;
                            //da = new SqlDataAdapter(cmdText, con);
                           // da.Fill(ds);
                            //dataGridView1.DataSource = ds.Tables[0];
                            // dataGridView1.Columns["ID"].Visible = false;	//隐藏ID列    
                        }

                        SqlCommandBuilder sb = new SqlCommandBuilder(da);                       
                        da.Update(ds); 
                        //ds.AcceptChanges();
                        textBox1.Text = "bbbbb";                                                
                    }                   
                    stream.Flush();
                    stream.Close();
                    client.Close();
这是放在服务器端接受数据处理的代码
konglingmiyu 2016-04-18
  • 打赏
  • 举报
回复
private void button3_Click(object sender, EventArgs e)
        {
            for (int i = dataGridView1.SelectedRows.Count; i > 0; i--)
            {
                dataGridView1.Rows.RemoveAt(dataGridView1.SelectedRows[i - 1].Index);
            }
            string ip = textBox2.Text;
            string strport = textBox3.Text;
            int port = Convert.ToInt32(strport);
            client = new TcpClient(ip, port);
            byte[] msg = new byte[1];
            msg[0] = 2;
            stream = client.GetStream();
            stream.Write(msg, 0, msg.Length);

            byte[] input = GetBinaryFormatDataSet(ds);
            stream.Write(input, 0, input.Length);

            stream.Flush();
            stream.Close();
            client.Close();
        }
这是客户端删除按钮事件处理
konglingmiyu 2016-04-18
  • 打赏
  • 举报
回复
引用 3 楼 lovelj2012 的回复:
贴代码看看呢,撸主
恩恩 好的
  • 打赏
  • 举报
回复
解决什么?你只是想让.net应用程序别给你显示什么提示么?
江南小鱼 2016-04-17
  • 打赏
  • 举报
回复
贴代码看看呢,撸主
konglingmiyu 2016-04-17
  • 打赏
  • 举报
回复
引用 1 楼 sp1234 的回复:
解决什么?你只是想让.net应用程序别给你显示什么提示么?
不是啊,是我在客户端删除某一行数据项同步更新到服务器数据库,但是第二次之后就出现如题的错误,并且第二次出现错误的时候还删除了服务器数据库对应的数据,只是第三次之后就没有反应了,断电调试出现的问题就是如题的问题

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧