数据字典重写SaveResultEx UpdateEx方法手动控制事务自动生成流水号
数据字典重写SaveResultEx UpdateEx方法手动控制事务自动生成流水号
本文适用于数据字典窗体根据某个字段类型自动生成改类型的流水序号。 比如产品类型是: AB,生成AB0000001的序号。 ZZ,生成ZZ0000001的序号。 解决方案: 1. 重写DAL层的UpdateEx方法 C# Code: /// <summary> /// 数据字典:手动控制事务及自动生成流水号 /// </summary> /// <param name="data">用户提交的数据</param> /// <returns></returns> public override SaveResultEx UpdateEx(DataSet data) { _UserManualControlTrans = true; SaveResultEx result = new SaveResultEx((int)ResultID.SUCCESS, ""); try { this.BeginTransaction();//启动事务 string dataCode = ""; DataTable summary = data.Tables[tb_CommonDataDict.__TableName];//取出主表数据 if (summary.Rows[0].RowState == DataRowState.Added) //新增记录,设主键 { string dataType = ConvertEx.ToString(summary.Rows[0][tb_CommonDataDict.DataType]);//取数据类型 dataCode = DocNoTool.GetDataSN(_CurrentTrans, dataType, true);//在同一事务内取流水号 summary.Rows[0][tb_CommonDataDict.DataCode] = dataCode;//自动生成流水号 } else { dataCode = ConvertEx.ToString(summary.Rows[0][tb_CommonDataDict.DataCode]); } result = base.UpdateEx(data);//提交数据 result.PrimaryKey = dataCode;//返回自动生成的主键 this.CommitTransaction();//提交事务 } catch { this.RollbackTransaction();//回滚 } return result; } //来源:C/S框架网 | www.csframework.com | QQ:23404761 2. 重写界面层的DoSave方法 C# Code: public override void DoSave(IButtonInfo sender) { //调用基类提供的保存方法 base.DoSaveEx(sender); } //来源:C/S框架网 | www.csframework.com | QQ:23404761 扫一扫加微信
参考文档:
C#多线程处理多个队列的数据(交叉线程访问及Invoke方法使用) C/S开发框架标准版-后台数据更新dalBase类(UML图及方法介绍) 数据字典开发灵活吗?能不能做到根据表结构定义自动生成? C#开发实例-数据字典作为参考数据在表格中显示的两种方案 什么是数据字典? 什么是基础数据? 什么是数据字典窗体? CS开发框架Toolbar与数据字典,业务单据的关系 数据字典与业务表的数据关系与查询 Web方法(WebMethod)服务端权限控制 SqlDataAdapter.FillSchema(DataTable)方法填充数据表的主键和约束 《CS框架V2.2-3.0数据字典窗体快速开发指南》.doc C# GridView 资料行数据检查使用的方法(ValidateRow与InvalidRowException) 高级版V3.0-公共数据字典出现重复启动事务导致异常 DAL层重写Update方法手工启动事务 大数据字典表建议屏蔽GetSummaryData方法 数据字典BLL.CreateDataBinder方法实现新增记录给主键赋值
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |