一、任务背景
开发基于web的数据输入模块时,总会遇到数据的提交方案。提交方案的复杂程度,取决于输入页面的复杂程度。最简单的一个页面一条记录,对应数据库的一张物理表;复杂点的多条记录,但是依旧对应数据库的一张物理表;再复杂些的,对应数据库多张物理表;最复杂的,估计要数多库提交了。
二、面临困难
数据提交方案不管多复杂,最基本的要求是保持数据库的事务一致性。事务一致性对单库说起来挺容易的,但是对多个数据库的情况就很难实现了。
其次,是对数据类型的处理,网页上提交上来的数据是无法识别录入的数据类型的,因此需要在后台对数据类型进行转换。
第三,是更新字段和页面上输入格的映射关系,这一点算是最麻烦的了,简单的输入表,一页一条记录或者一行一条记录都好说,对于多源分片的填报表,就不容易了。尤其是一条记录对应的格子分散在不同行不同扩展区域的时候,这个映射关系需要仔细的考虑。当然还有更加复杂的,比如更新字段不是对应页面上的某个输入格,而是对应某个或者某几个输入格数据组成的表达式,那样还需要在后台把表达式的值先算出来,然后才能用于提交更新。
另一种情况是数据库的字段对应的为数据库的表达式,此时要考虑不是简单地拼出更新的sql,而是要把数据库的表达式拼进更新sql中。
上述这些功能如果都用程序硬写,都能实现,但是如果要考虑通用性,而不是一个模块写一段程序的话,难度还是比较大的。
因此建议采用润乾的填报表,润乾的填报表给出了一个近乎完美的数据提交方案,可以轻松地处理自由库表关联,处理多库、多表提交,保证数据库的事务一致性,其设计步骤如下:
三、实现步骤
1、 设计一个填报表
2、 定义更新属性
3、 发布
四、效果演示
更新属性定义界面: