报表填报--数据提交方案

在开发基于web的数据填报模块时,总是会遇到数据的提交方案。提交方案的复杂程度,取决于输入页面的复杂程度。最简单的一个页面一条记录,对应数据库的一张物理表;复杂点的多条记录,但是依旧对应数据库的一张物理表;再复杂些的,对应数据库多张物理表;最复杂的,估计要数多库提交了。

我们在数据提交方案不管多复杂,最基本的要求是保持数据库的事务一致性。事务一致性对单库说起来挺容易的,但是对多个数据库的情况就很难实现了。

其次,是对数据类型的处理,网页上提交上来的数据是无法识别录入的数据类型的,因此需要在后台对数据类型进行转换。

第三,是更新字段和页面上输入格的映射关系,这一点算是最麻烦的了,简单的输入表,一页一条记录或者一行一条记录都好说,对于多源分片的填报表,就不容易了。尤其是一条记录对应的格子分散在不同行不同扩展区域的时候,这个映射关系需要仔细的考虑。当然还有更加复杂的,比如更新字段不是对应页面上的某个输入格,而是对应某个或者某几个输入格数据组成的表达式,那样还需要在后台把表达式的值先算出来,然后才能用于提交更新。

另一种情况是数据库的字段对应的为数据库的表达式,此时要考虑不是简单地拼出更新的sql,而是要把数据库的表达式拼进更新sql中。

上述这些功能如果都用程序硬写,都能实现,但是如果要考虑通用性,而不是一个模块写一段程序的话,难度还是比较大的。

因此建议采用润乾的填报表,润乾的填报表给出了一个近乎完美的数据提交方案,可以轻松地处理自由库表关联,处理多库、多表提交,保证数据库的事务一致性,其设计步骤如下:

实现步骤
       1、 设计一个填报表
       2、 定义更新属性
       3、 发布

时间: 2024-10-08 16:47:32

报表填报--数据提交方案的相关文章

ActiveReports 报表应用教程 (7)---交叉报表及数据透视图实现方案

原文:ActiveReports 报表应用教程 (7)---交叉报表及数据透视图实现方案 在 ActiveReports 中可以通过矩阵控件非常方便的实现交叉报表,同时还可以设置数据的分组.排序.过滤.小计.合计等操作,可以满足您报表的智能数据分析等需求.在矩阵控件中组的行数和列数由每个行分组和列分组中的唯一值的个数确定.同时,您可以按行组和列组中的多个字段或表达式对数据进行分组.在运行时,当组合报表数据和数据区域时,随着为列组添加列和为行组添加行,矩阵将在页面上水平和垂直增长. 在矩阵控件中,

环境企业表单权限分配填报数据系统设计与实现

本科生毕业论文(设计) Undergraduate Graduation Thesis(Design) 题目Title:环境企业表单权限分配填报数据   系统设计与实现                 院 系 School (Department):数据科学与计算机学院  专 业 Major:   软件工程   学生姓名 Student Name:                     学 号 Student No.:                    指导教师(职称) Superviso

数据存储方案评估标准RDBMS or KV

作者:zhanhailiang 日期:2014-12-11 本文主要介绍常见的数据存储方案及相应选型的评估标准的介绍. Guideline:针对不同应用场景,针对性选择存储方式. 1. 数据存储方案 SQL: MySQL 5.5/5.6/MariaDB(对于Dev绝大多数场景下透明): Oracle|MS SQL暂不考虑: NoSQL: Memcached 1.4.21: Redis 2.8: MongoDB 2.6.6: Hbase 0.96/0.98: 2. 评估标准 RDBMS:(MySQ

几种Android数据序列化方案

一.引言 数据的序列化在Android开发中占据着重要的地位,无论是在进程间通信.本地数据存储又或者是网络数据传输都离不开序列化的支持.而针对不同场景选择合适的序列化方案对于应用的性能有着极大的影响. 从广义上讲,数据序列化就是将数据结构或者是对象转换成我们可以存储或者传输的数据格式的一个过程,在序列化的过程中,数据结构或者对象将其状态信息写入到临时或者持久性的存储区中,而在对应的反序列化过程中,则可以说是生成的数据被还原成数据结构或对象的过程. 这样来说,数据序列化相当于是将我们原先的对象序列

Android Learning:数据存储方案归纳与总结

前言 最近在学习<第一行android代码>和<疯狂android讲义>,我的感触是Android应用的本质其实就是数据的处理,包括数据的接收,存储,处理以及显示,我想针对这几环分别写一篇博客,记得我的学习心得,也希望跟各位新手同学相互努力促进.今天这篇博客,我想介绍一下数据的存储,因为数据的接收,存储,处理以及显示这几环环环相扣,而数据的存储直接关系到数据的处理和显示,所以显得尤为重要. 所以本文针对数据存储的常见方案和其使用进行了归纳.分为程序内存储和程序间数据访问,程序内存储

碰到诡异问题,求助大能解答,关于表单提交大文件无限数据提交问题

服务器环境 php环境 出现情况:上传30M文件的时候 本地数据一直在提交,观察服务器io 也一直有下载流量.但是就没有个结束,php输出 $_FILES,也不会执行到这行代码,比如我提交30M文件表单提交,但是流量估计超过好几百M也不会停止,反正不人为停止脚步,就是不断在数据交互.请问有大哥碰到这情况吗?是否哪些php配置没配置对 大文件上传问题已解决 以我测试上传32M文件大小为例 php 运行方式 FPM-FCGI php.ini upload_max_filesize = 64M//上传

四种常见的 POST-------- content-type数据提交方式

HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS.GET.HEAD.POST.PUT.DELETE.TRACE.CONNECT 这几种.其中 POST 一般用来向服务端提交数据,本文主要讨论 POST 提交数据的几种方式. 我们知道,HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范.规范把 HTTP 请求分为三个部分:状态行.请求头.消息主体.类似于下面这样: <method> <request-URL> <version&

基于Birt4.6实现报表表格数据的可编辑

奇葩需求:客户要求某业务系统中生成的报表数据可以编辑.为响应客户的需求,本文基于Birt 4.6实现报表数据的可编辑(伪修改). BIRT 是以 Java 和 JavaEE 为基础为 Web 应用程序开发的基于 Eclipse 的开源报表系统,其本身并不支持报表数据的修改.因此想要实现报表数据的可编辑,需要修改生成报表的渲染页面.本文的方案是在报表生成页面引入Jquery实现报表表格数据的可编辑,这是一种简单的快速实现方式,具体实现方案如下: 1)找到Birt渲染页面 Birt的渲染页面路径..

混合云存储组合拳:基于云存储网关与混合云备份的OSS数据备份方案

前言阿里云对象存储(OSS)用户众多.很多用户因为业务或者合规性需求,需要对OSS内的数据做备份,无论是线上备份,还是线下备份.用户可以选择使用OSS的开放API,按照业务需求,做数据的备份,也可以选择OSS已有的服务进行数据备份,比如OSS的跨域复制.但是,前一种方式,存在易用性和备份效率问题:后一种方式,只是将数据存双份或者多份,无法有效规避原始数据出问题后,被复制的那份数据也出问题的风险.本文介绍的基于云存储网关和混合云备份的OSS数据备份方案,不仅能保证OSS数据按策略的多版本备份,而且