违反并发性: UpdateCommand影响了预期 1 条记录中的 0 条 解决办法
本文转载:http://www.cnblogs.com/litianfei/archive/2007/08/16/858866.html
UpdateCommand和DeleteCommand出现DBConcurrencyException异常。调试提示:违反并发性: DeleteCommand 影响了预期 1 条记录中的 0 条;或 违反并发性: UpdateCommand影响了预期 1 条记录中的 0 条。
这里的违反并发性:不是指多人编辑引起的并发。
问题原因:
在插入、更新或删除操作过程中当受影响的行数等于零时由 DataAdapter 引发的异常。
可能的解决方法:
1 检查是否设有主键。
2 DeleteCommand的问题:检查是否含有自动编号字段(Access的自动编号字段可能会引发此异常);
UpdateCommand的问题:检查更新的字段的原始值是否为空值(原始空值更新时可能会引发此异常)。
3、多人并行操作也可能引发这样的异常。
----------------------
如果你采用了BindingSource和TableAdapter的话,请参考下面的代码:
-----------------------------------------------------------------------------------
例程来源:人民邮电出版社出版的书《Visual Basic .NET 2005数据库编程技术与实例》
详情请见:http://www.ptpress.com.cn/books/Book_Information.asp?BID=16271
-----------------------------------------------------------------------------------
Me.Validate()
Me.职工基本信息BindingSource.EndEdit()
Me.职工基本信息TableAdapter.Update(Me.工资管理DataSet.职工基本信息.GetChanges)
Me.工资管理DataSet.职工基本信息.AcceptChanges()
但是这样做后,导致了,dataset和数据库不一致的问题。是.AcceptChanges()
语句导致。
----------------------
也反应这样处理:http://software.it168.com/manual/ado.net/4-2-g.htm
| ? |
|
|||
| 状态 | 说明 |
|---|---|
| Continue | 继续执行更新操作。 |
| ErrorsOccurred | 中止更新操作并引发异常。 |
| SkipCurrentRow | 忽略当前行并继续执行更新操作。 |
| SkipAllRemainingRows | 中止更新操作但不引发异常。 |
我们建议目前这样处理:
if(this.工资管理DataSet.职工基本信息.GetChanges!=null)
{Me.职工基本信息TableAdapter.Update(Me.工资管理DataSet.职工基本信息.GetChanges)}
private void Form1_Load(object sender, EventArgs e)
{
string conn = "Data Source=.;Initial Catalog=TestDB;Integrated Security = SSPI;";
using (SqlConnection connection = new SqlConnection(conn))
{
connection.Open();
string select = "SELECT * FROM Table_1";
SqlDataAdapter da = new SqlDataAdapter(select, connection);
da.RowUpdating += new SqlRowUpdatingEventHandler(da_RowUpdating);
DataSet ds = new DataSet();
da.Fill(ds);
DataTable dataTable = ds.Tables[0]; dataTable.Rows[0][1] = "9999";
// 删除第8行
//dataTable.Rows[1].Delete(); SqlCommand cmd = new SqlCommand();
SqlCommandBuilder objCommandBuilder = new SqlCommandBuilder(da);
cmd=objCommandBuilder.GetDeleteCommand();
da.Update(dataTable);
//if (dataTable.GetChanges() != null)
//{
// da.Update(dataTable.GetChanges());
//} //dataTable.AcceptChanges(); this.dataGridView1.DataSource = dataTable; }
} void da_RowUpdating(object sender, SqlRowUpdatingEventArgs e)
{
e.Status = UpdateStatus.Continue;
}
违反并发性: UpdateCommand影响了预期 1 条记录中的 0 条 解决办法的更多相关文章
- 违反并发性: UpdateCommand影响了预期 1 条记录中的 0
今天遇到这个错误,看到下面这种说法都没解决问题: 1 检查是否设有主键.2 DeleteCommand的问题:检查是否含有自动编号字段(Access的自动编号字段可能会引发此异常): UpdateC ...
- updatetable 违反并发性: UpdateCommand 影响了预期 1 条记录中的 0 条造成问题一种原因
数据库 表A ID UserName DeptID DeptName 1 张三 1 技术部 表B ID DeptName 1 市场部 当使 ...
- 错误:违反并发性: DeleteCommand 影响了预期 1 条记录中的 0 条
在access的mdb数据库动态更新的过程中,遇到了DeleteCommand出现DBConcurrencyException异常,错误:违反并发性: DeleteCommand 影响了预期 1 条记 ...
- FPC报价模块配置 UpdateCommand影响了预期 1 条记录中的 0 条 解决办法
今天在增加P4厂 FPC报价模块配置,增加刚挠信息节点,在保存时报错:UpdateCommand影响了预期 1 条记录中的 0 保存时使用:SqlDataAdapter批量更新DataTable,怎么 ...
- ecshop 秒杀并发时库存会被减到小于0的解决办法
ecshop 秒杀并发时库存会被减到小于0更新库存后,再进行库存检查,如果库存为负数,则执行事务的回滚. begin();//开始一个事物处理开始 $sql = "UPDATE " ...
- CUDA 7 Stream流简化并发性
CUDA 7 Stream流简化并发性 异构计算是指高效地使用系统中的所有处理器,包括 CPU 和 GPU .为此,应用程序必须在多个处理器上并发执行函数. CUDA 应用程序通过在 streams ...
- mysql中update的low_priority解决并发问题
在处理访客信息更新是遇到了大并发的问题,low_priority,低优先级,可以让并发没那么占CPU,对于低配VPS来说,作用还是很大的.UPDATE [LOW_PRIORITY] tbl_name ...
- Select for update/lock in share mode 对事务并发性影响
select for update/lock in share mode 对事务并发性影响 事务并发性理解 事务并发性,粗略的理解就是单位时间内能够执行的事务数量,常见的单位是 TPS( transa ...
- Mysql加锁过程详解(4)-select for update/lock in share mode 对事务并发性影响
Mysql加锁过程详解(1)-基本知识 Mysql加锁过程详解(2)-关于mysql 幻读理解 Mysql加锁过程详解(3)-关于mysql 幻读理解 Mysql加锁过程详解(4)-select fo ...
随机推荐
- zzuli oj 1167逆转数(指针专题)
Description 任意给你一个整数,这个数可能很大(最长不超过100位),你能求出它的逆转数吗? 逆转数定义如下: 1.一个末尾没有0的整数,它的逆转数就是各位数字逆序输出: 2.一个负数 ...
- jquery插件的写法
jquery插件及zepto插件,写法上有些区别. 区别点: 1.自定义事件的命名空间 jq的时间命名空间是用点“.”,而zepto是用冒号“:” 如 //jquery $(this).trigger ...
- Qt HTTP内部构架
QUrl url("http://qt.gitorious.org"); QNetworkRequest request(url); QNetworkAccessManager m ...
- 第 17 章 责任链模式【Chain of Responsibility Pattern】
以下内容出自:<<24种设计模式介绍与6大设计原则>> 中国古代对妇女制定了“三从四德”的道德规范,“三从”是指“未嫁从父.既嫁从夫.夫死从子”,也就是说一个女性,在没有结婚的 ...
- Word删除空白页
1.常见的就是在前一页最后按delete 2.我遇到的问题是,共两页第一页是平常的A4,是表格,第二页也是A4,只不过横着显示(后来才知道的),中间是分节符,不能直接删除的,否则表格各个部分分开在好几 ...
- Hibernate 注解时 hibernate.hbm.xml的配置方法 以及与SSH整合里的配置方式
①纯Hibernate开发: 当你在Bean中写入注解后,需要告诉hibernate哪些类使用了注解. 方法是在hibernate.hbm.xml文件中配置 <!DOCTYPE hibernat ...
- 李洪强iOS开发-网络新闻获取数据思路回顾
李洪强iOS开发-网络新闻获取数据思路回顾 01 创建一个继承自AFHTTPSessionManager的工具类:LHQNetworkTool 用来发送网络请求获取数据 1.1 定义类方法返回单例对 ...
- USB做Host的OTG原理
在介绍USBOTG的基础上,着重介绍Maxim公司的MAX3301E型USBOTG电路的特点.内部结构和工作原理. 1 引言 随着USB2.0版本的发布,USB越来越流行,已经成为一种标准接口.现在, ...
- python-urllib2模块
参考: http://blog.csdn.net/wklken/article/details/7364390 http://hankjin.blog.163.com/blog/static/3373 ...
- nginx+gunicorn
wsgi接口,使用gunicorn作为server,想在外层加nginx. 配置了 proxy_pass http://127.0.0.1:9008; 访问报301. 参考gunicorn 官网配 ...