ECG在DbCore使用实体更新Access数据库的时候返回值为0时的问题解决方法
2011-10-26 18:49
501 查看
问题描述:
在某些场景下,对于Access数据库,会出现如下更新问题:
这里更新后返回受影响的行数count = 0,显然结果是不正确的,未更新数据。
解决方案:
此时可用entity.Update(dbCore)来解决,完整代码如下所示:
同entity.Update(dbCore)对应方法还有entity.UpdateAll(dbCore)/
ntity.UpdateEx(dbCore)/entity.Insert(dbCore)/entity.InsertALL(dbCore)/entity.InsertEx(dbCore)/entity.Save(dbCore)/entity.SaveAll(dbCore)/entity.SaveEx(dbCore)
同样对于实体集,也相应的提供批量的保存方法,如:entitys.Save(dbCore)/
entitys.SaveAll(dbCore)/entitys.SaveEx(dbCore)
下载链接:
/article/5449594.html
在某些场景下,对于Access数据库,会出现如下更新问题:
myAccess.TSTENTITY entity = new LXChuTao.Entity.Common.Access.TSTENTITY(); DbCore dbCore = new DbCore(DatabaseType.Access, myAccess.BaseEntity.GetConnectionString()); int count = -1; dbCore.Open(); entity.TSTID = 4; //这里该记录已存在 entity.TSTTXT = "测试4_1"; count = dbCore.Update(entity); //注意:对Access数据库这样不行, count 返回值为 0 dbCore.Close(); |
解决方案:
此时可用entity.Update(dbCore)来解决,完整代码如下所示:
DbCore dbCore = new DbCore(DatabaseType.Access, myAccess.BaseEntity.GetConnectionString()); myAccess.TSTENTITY entity = new LXChuTao.Entity.Common.Access.TSTENTITY(); int count = -1; dbCore.Open(); dbCore.BeginTransaction(); myAccess.employee emp = new LXChuTao.Entity.Common.Access.employee("1"); emp.lname = "UpdateDbcore"; count = emp.Update(dbCore); myAccess.employee emp1 = new LXChuTao.Entity.Common.Access.employee(dbCore, "emp_id", "1"); myAccess.employee emp2 = new LXChuTao.Entity.Common.Access.employee("emp_id", "1"); string str = emp1.lname;//比较修改前后值 str = emp2.lname;//比较修改前后值 entity.TSTID = 4; entity.TSTTXT = "测试4_1"; count = dbCore.Save(entity); str = count.ToString(); entity.TSTTXT = "测试4_2"; count = dbCore.Update(entity);//注意:对Access数据库这样不行 count 返回值为 0 count = entity.Update(dbCore);//这样可以 dbCore.RollbackTransaction(); emp1 = new LXChuTao.Entity.Common.Access.employee(dbCore, "emp_id", "1"); emp2 = new LXChuTao.Entity.Common.Access.employee("emp_id", "1"); str = emp1.lname;//回滚事务后 再次比较值 str = emp2.lname;//回滚事务后 再次比较值 //dbCore.CommitTransaction(); dbCore.Close(); |
ntity.UpdateEx(dbCore)/entity.Insert(dbCore)/entity.InsertALL(dbCore)/entity.InsertEx(dbCore)/entity.Save(dbCore)/entity.SaveAll(dbCore)/entity.SaveEx(dbCore)
同样对于实体集,也相应的提供批量的保存方法,如:entitys.Save(dbCore)/
entitys.SaveAll(dbCore)/entitys.SaveEx(dbCore)
下载链接:
/article/5449594.html
相关文章推荐
- ECG在DbCore使用实体更新Access数据库的时候返回值为0时的问题解决
- Android studio在使用过程中常见的问题及解决方法(不定期更新),androidstudi
- 生产环境使用elasticsearch遇到的一些问题以及解决方法(不断更新)
- 关于win10周年版更新后无法正常使用vc6.0问题的解决方法
- Caffe搭建:常见问题解决办法和ubuntu使用中遇到问题解决方法(持续更新)
- 使用workbench运行更新语句时出现如下问题与解决方法。
- extjs使用AJAX调用方法结束不给返回值赋值问题解决
- 如何解决ADO.NET访问Access数据库出现"操作必须使用一个可更新的查询"的问题(非原创,摘自书中)
- 使用libtomcrypt时候出现无法找到rijndael_enc_desc问题解决方法
- 使用Ubuntu遇到的问题以及解决方法(持续更新)
- (应用程序无法正常启动0xc0000142) 关于win10周年版更新后无法正常使用vc6.0问题的解决方法
- 解决 ”不允许在查询中显式构造实体类型“问题及使用其他方法实现返回 List<Model对象>或者IQueryable<Model对象>对象
- 生产环境使用elasticsearch遇到的一些问题以及解决方法(不断更新)
- Caffe搭建:常见问题解决办法和ubuntu使用中遇到问题解决方法(持续更新)
- 在使用android studio过程中,使用gradle编译的时候总会出现一些问题,下面是几个常见问题的解决方法。
- 执行SQL语句时出现问题操作必须使用一个可更新的查询错误的解决方法
- J2ME使用WTK模拟器开发时候遇到“OK to use Airtime” 问题的解决方法
- 使用elasticsearch遇到的一些问题以及解决方法(不断更新)
- 百度 地图 slidingmenu 黑边 使用截图的方式解决黑边问题,步骤: 1.slidingMenu打开的时候调用BaiduMap的snapshot方法截图获取Bitmap对象; 2.使用
- 使用CentOS 遇到的问题以及解决方法(持续更新)