一种web表单数据存取方法和系统的制作方法

xiaoxiao2020-10-23  11

一种web表单数据存取方法和系统的制作方法
【技术领域】
[0001]本发明涉及数据处理技术领域,尤其涉及一种WEB表单数据存取方法和系统。
【背景技术】
[0002]WEB表单中的数据由于是动态变化的,所以,一种优秀的WEB表单数据存取方法,对于后台的响应速率具有重要的影响。
[0003]目前,WEB表单的数据存取方法主要包括以下两种:第一种是,首先使用ASP.NETEntity Formwork技术,实现业务对象到关系数据的映射与转换,然后使用Linq技术生成SQL脚本,使WEB页面表单数据与DBContext数据对象建立绑定,实现数据的存取。但是,这种方法由于需要建立大量的数据模型,逐一绑定页面字段,所以,在针对有大量的表单字段时,存在性能和效率问题;第二种是,基于ASP.NET的单表采集技术,集成Page U1、ORM和DB,对于单表的操作,只需在数据库中配置相关的表值类型项,可快速实现单表模块的增删改查。这种方法虽然能够快速的实现单表模块的增删改查,但是,由于单表采集需要复杂的配置,所以,当用户有Π个性需求时,该方法则无法满足用户对Π的特殊要求。
[0004]因此,现有技术无法既能够保证软件质量,又能够保证用户满意度。

【发明内容】

[0005]本发明的目的在于提供一种WEB表单数据存取方法和系统,从而解决现有技术中存在的前述问题。
[0006]为了实现上述目的,本发明采用的技术方案如下:
[0007]一种WEB表单数据存取方法,包括如下步骤:
[0008]SI,客户端获取WEB表单数据,并将WEB表单数据提交至服务端;
[0009]S2,服务端接收WEB表单数据,并将WEB表单数据转换为原始键值数据集;
[0010]S3,对原始键值数据集进行校验,获取有效键值数据集;
[0011]S5,遍历所述有效键值数据集,根据数据操控方式,自动拼接键值数据生成SQL语句;
[0012]S6,执行所述SQL语句并将执行结果返回至客户端。
[0013]优选地,SI中,所述客户端获取表单数据,包括:
[0014]SlOl,在HTML页面中,对WEB表单控件进行布局,
[0015]S102,使用WEB表单控件,设置WEB表单数据;
[0016]S103,通过WEB表单数据处理器进行对WEB表单数据进行封装,得到封装的WEB表单数据;
[0017]S104,将封装的WEB表单数据提交至服务端。
[0018]优选地,所述WEB表单数据的名称与服务端数据库中字段名称相同。
[0019]优选地,S2包括:
[0020]S201,服务端将客户端提交的WEB表单数据存入对象中,得到WEB表单对象;
[0021]S202,将所述WEB表单对象转换为原始键值数据集。
[0022]优选地,S3包括如下步骤:
[0023]S301,对所述原始键值数据集进行解析,获取主键和/或自增字段;
[0024]S302,根据主键和/或自增字段对Keys进行校对,获取有效键值数据集。
[0025]更优选地,S301中,所述对所述原始键值数据集进行解析,具体为:利用服务端的数据库表SysColumns获取原始键值数据集的主键和/或自增字段。
[0026]更优选地,S302具体为:将所述原始键值数据集的主键和/或自增字段与服务端数据库中的主键和/或自增字段进行比较,如果服务端数据库中存在所述原始键值数据集的主键和/或自增字段,则键值数据有效,并储存在有效键值数据集中,否则,删除。
[0027]优选地,S5中,所述数据操控方式包括数据的查询、添加、修改或删除。
[0028]优选地,所述自动拼接键值数据生成SQL语句,具体为:利用T-SQL的可参数化特性自动拼接键值数据生成SQL语句。
[0029]一种WEB表单数据存取系统,包括:页面层、逻辑层和数据存取层,所述页面层位于客户端,所述逻辑层和所述数据存取层位于服务端;所述页面层用于获取WEB表单数据,并将WEB表单数据提交至逻辑层,还用于接收数据存取层通过逻辑层转发的所述SQL语句的执行结果,并显示;所述逻辑层用于接收WEB表单数据,并将WEB表单数据转换为原始键值数据集,还用于将原始键值数据集发送至数据存取层,还用于将数据存取层对所述SQL语句的执行结果转发至页面层;所述数据存取层用于接收所述逻辑层发送的原始键值数据集,并对原始键值数据集进行校验,获取有效键值数据集,还用于遍历所述有效键值数据集,根据数据操控方式,自动拼接键值数据生成SQL语句,还用于执行所述SQL语句并将执行结果通过逻辑层转发至页面层。
[0030]本发明的有益效果是:本发明实施例,通过开放用户界面层,集成对象关系映射和数据库访问层,提供了一种WEB表单数据存取方法和系统,使用该系统,开发者只需保持Web页面表单字段和数据库字段名称相同,调用该方法,便可实现WEB表单的增删改查的数据操控,进而实现数据存取,无需过多的配置,而如果存在配置错误,系统的底层会智能纠错,使系统稳定可靠;而且通过页面来控制所需的字段,Web页面布局可以随意调整,方便灵活尚效。
【附图说明】
[0031]图1是本发明实施例一提供的WEB表单数据存取方法流程示意图;
[0032]图2是本发明实施例二提供的WEB表单数据存取系统结构示意图。
【具体实施方式】
[0033]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的【具体实施方式】仅仅用以解释本发明,并不用于限定本发明。
[0034]实施例一
[0035]如图1所示,本发明实施例提供了一种WEB表单数据存取方法,包括如下步骤:
[0036]SI,客户端获取WEB表单数据,并将WEB表单数据提交至服务端;
[0037]S2,服务端接收WEB表单数据,并将WEB表单数据转换为原始键值数据集;
[0038]S3,对原始键值数据集进行校验,获取有效键值数据集;
[0039]S5,遍历所述有效键值数据集,根据数据操控方式,自动拼接键值数据生成SQL语句;
[0040]S6,执行所述SQL语句并将执行结果返回至客户端。
[0041]采用上述方法,进行实际开发的过程可以为:
[0042]开发人员首先在页面层进行表单排版,保持表单控件名称和数据库字段名称相同。在服务端逻辑层调用键值转换方法,输入参数为表单数据对象,输出键值数据集对象;然后调用底层数据操控方法,输入参数为表名称和键值数据集对象,输出操控结果,并将结果传递到Π层,最终反馈给用户。
[0043]本发明实施例中,SI中,所述客户端获取表单数据,包括:
[0044]SlOl,在HTML页面中,对WEB表单控件进行布局,
[0045]S102,使用WEB表单控件,设置WEB表单数据;
[0046]S103,通过WEB表单数据处理器进行对WEB表单数据进行封装,得到封装的WEB表单数据;
[0047]S104,将封装的WEB表单数据提交至服务端。
[0048]采用上述方法,进行实际开发的过程可以为:
[0049]步骤一,可借助HTML设计工具进行Web表单布局,如Dreamweaver, Vi sualStud1 等。
[0050]步骤二,手动设置表单控件Name与数据库字段名称相同。
[0051]步骤三,表单数据封装,可以运用HTML Form自动收集特性或者运用jQuery Form框架进行收集。
[0052]步骤四,通过JavaScript/jQuery中的Submit方法完成数据提交。
[0053]本发明实施例中,所述WEB表单数据的名称与服务端数据库中字段名称相同。
[0054]保持WEB表单数据的名称和数据库字段名称相同,是为了建立页面数据和数据库字段之间的映射关系,从而保证底层系统能够正确识别出要存取的数据项,生成正确的SQL语句,执行正确的结果。若页面数据名称和数据库字段名称存在较大差异,系统无法识别会做忽略处理,该字段的数据就无法正确存取。
[0055]本发明实施例中,S2包括:
[0056]S201,服务端将客户端提交的WEB表单数据存入对象中,得到WEB表单对象;
[0057]S202,将所述WEB表单对象转换为原始键值数据集。
[0058]5、根据权利要求1所述的WEB表单数据存取方法,其特征在于,S3包括如下步骤:
[0059]S301,对所述原始键值数据集进行解析,获取主键和/或自增字段;
[0060]S302,根据主键和/或自增字段对Keys进行校对,获取有效键值数据集。
[0061]采用上述方法,进行实际开发的过程可以为:
[0062]首先,在.NET框架服务端,可通过Request.Form获取NameValueCollect1n数据集WEB表单对象。
[0063]然后,在服务端,通过遍历NameValueCollect1n数据集对象将其转换为可编辑的键值数据集Dict1nary〈string, object〉,并可以对该键值集合中数据项进行再编辑和修正。
[0064]本发明实施例中,S301中,所述对所述原始键值数据集进行解析,具体为:利用服务端的数据库表SysColumns获取原始键值数据集的主键和/或自增字段。
[0065]数据库表主键和自增字段的获取,可以是编码人员指定,也可以利用数据库中SysColumns自动查出。相对前者,后者的可靠性和准确性会更高。
[0066]本发明实施例中,S302具体为:将所述原始键值数据集的主键和/或自增字段与服务端数据库中的 主键和/或自增字段进行比较,如果服务端数据库中存在所述原始键值数据集的主键和/或自增字段,则键值数据有效,并储存在有效键值数据集中,否则,删除。
[0067]将原始键集合同数据库表字段集合进行比对,剔除无效或者不需要的字段,是为了提高匹配字段的准确性,避免错误或者恶意键名称的干扰,提高拼接SQL的正确性;同样依据主键和自增字段可以判断该字段是否需要保留拼接,例如:在添加/修改操作中,SQL中不允许出现自增的字段,否则将无法执行。采用方法可以有效的提高SQL拼接的正确性,避免SQL注入式攻击,从而保证最终正确的执行结果。
[0068]本发明实施例中,S5中,所述数据操控方式包括数据的查询、添加、修改或删除。
[0069]其中,在查询操作中,需要提供表名称、查询条件键值数据集参数;首先是编写查询前缀基础语句“SELECT*FR0M1Where I = 1”,然后遍历键值数据集拼接where后缀语句"ANDilI [email protected]{2}”;{0}、{1}、{3}代表是不同的占位符,通过替换占位符的值完成最终的拼接。
[0070]在添加操作中,首先是“INSERT INT0{0} ({1}) VALUES ({2}) ”基础语句,通过遍历键值数据集得到三个字符串,分别填充基础语句中的{0}、{1}、{3}占位符。其中,第一个字符串是表名称,第二个字符串是用逗号连接字段集,第三个字符串是用逗号连接的字段对应值。
[0071]在修改操作中,首先是“UPDATE {0} SET {1} WHERE {2} ”,其中{0}是表名称,{1}是通过遍历键值集合生成“Okeyl = valuel, ikey2 = value2,......”形式的字符串,{2}是如同查询中where拼接方式的条件语句字符串。
[0072]在删除操作中,同样首先是“DELETE FROM{0}WHERE I = I”基础语句,然后同查询中的Where拼接方式拼接条件语句。
[0073]本发明实施例中,所述自动拼接键值数据生成SQL语句,具体为:利用T-SQL的可参数化特性自动拼接键值数据生成SQL语句。
[0074]T-SQL的可参数化特性指的是系统可以识别“Value = OValue”的形式,OValue代表T-SQL中的参数变量;在AD0.NET中,可通过DBParameter方法将值传递到执行命令中,完成最终的SQL执行。
[0075]实施例二
[0076]如图2所示,本发明实施例提供了一种WEB表单数据存取系统,包括:页面层、逻辑层和数据存取层,所述页面层位于客户端,所述逻辑层和所述数据存取层位于服务端;所述页面层用于获取WEB表单数据,并将WEB表单数据提交至逻辑层,还用于接收数据存取层通过逻辑层转发的所述SQL语句的执行结果,并显示;所述逻辑层用于接收WEB表单数据,并将WEB表单数据转换为原始键值数据集,还用于将原始键值数据集发送至数据存取层,还用于将数据存取层对所述SQL语句的执行结果转发至页面层;所述数据存取层用于接收所述逻辑层发送的原始键值数据集,并对原始键值数据集进行校验,获取有效键值数据集,还用于遍历所述有效键值数据集,根据数据操控方式,自动拼接键值数据生成SQL语句,还用于执行所述SQL语句并将执行结果通过逻辑层转发至页面层。
[0077]上述系统,可以采取实施例一提供的WEB表单数据存取方法,该方法及其实现技术、功效在实施例一中已经进行了详细的描述,在此不再赘述。
[0078]通过采用本发明公开的上述技术方案,得到了如下有益的效果:本发明实施例,通过开放用户界面层,集成对象关系映射和数据库访问层,提供了一种WEB表单数据存取方法和系统,使用该系统,开发者只需保持Web页面表单字段和数据库字段名称相同,调用该方法,便可实现WEB表单的增删改查的数据操控,进而实现数据存取,无需过多的配置,而如果存在配置错误,系统的底层会智能纠错,使系统稳定可靠;而且通过页面来控制所需的字段,Web页面布局可以随意调整,方便灵活高效。
[0079]本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0080]本领域人员应该理解的是,上述实施例提供的方法步骤的时序可根据实际情况进行适应性调整,也可根据实际情况并发进行。
[0081]上述实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,例如:个人计算机、服务器、网络设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,例如:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
[0082]最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0083]以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
【主权项】
1.一种WEB表单数据存取方法,其特征在于,包括如下步骤: SI,客户端获取WEB表单数据,并将WEB表单数据提交至服务端; S2,服务端接收WEB表单数据,并将WEB表单数据转换为原始键值数据集; S3,对原始键值数据集进行校验,获取有效键值数据集; S5,遍历所述有效键值数据集,根据数据操控方式,自动拼接键值数据生成SQL语句; S6,执行所述SQL语句并将执行结果返回至客户端。2.根据权利要求1所述的WEB表单数据存取方法,其特征在于,SI中,所述客户端获取表单数据,包括: SlOl,在HTML页面中,对WEB表单控件进行布局, S102,使用WEB表单控件,设置WEB表单数据; S103,通过WEB表单数据处理器进行对WEB表单数据进行封装,得到封装的WEB表单数据; S104,将封装的WEB表单数据提交至服务端。3.根据权利要求1所述的WEB表单数据存取方法,其特征在于,所述WEB表单数据的名称与服务端数据库中字段名称相同。4.根据权利要求1所述的WEB表单数据存取方法,其特征在于,S2包括: S201,服务端将客户端提交的WEB表单数据存入对象中,得到WEB表单对象; S202,将所述WEB表单对象转换为原始键值数据集。5.根据权利要求1所述的WEB表单数据存取方法,其特征在于,S3包括如下步骤: S301,对所述原始键值数据集进行解析,获取主键和/或自增字段; S302,根据主键和/或自增字段对Keys进行校对,获取有效键值数据集。6.根据权利要求5所述的WEB表单数据存取方法,其特征在于,S301中,所述对所述原始键值数据集进行解析,具体为:利用服务端的数据库表SysColumns获取原始键值数据集的主键和/或自增字段。7.根据权利要求5所述的WEB表单数据存取方法,其特征在于,S302具体为:将所述原始键值数据集的主键和/或自增字段与服务端数据库中的主键和/或自增字段进行比较,如果服务端数据库中存在所述原始键值数据集的主键和/或自增字段,则键值数据有效,并储存在有效键值数据集中,否则,删除。8.根据权利要求1所述的WEB表单数据存取方法,其特征在于,S5中,所述数据操控方式包括数据的查询、添加、修改或删除。9.根据权利要求1所述的WEB表单数据存取方法,其特征在于,所述自动拼接键值数据生成SQL语句,具体为:利用T-SQL的可参数化特性自动拼接键值数据生成SQL语句。10.一种WEB表单数据存取系统,其特征在于,包括:页面层、逻辑层和数据存取层,所述页面层位于客户端,所述逻辑层和所述数据存取层位于服务端;所述页面层用于获取WEB表单数据,并将WEB表单数据提交至逻辑层,还用于接收数据存取层通过逻辑层转发的所述SQL语句的执行结果,并显示;所述逻辑层用于接收WEB表单数据,并将WEB表单数据转换为原始键值数据集,还用于将原始键值数据集发送至数据存取层,还用于将数据存取层对所述SQL语句的执行结果转发至页面层;所述数据存取层用于接收所述逻辑层发送的原始键值数据集,并对原始键值数据集进行校验,获取有效键值数据集,还用于遍历所述有效键值数据集,根据数据操控方式,自动拼接键值数据生成SQL语句,还用于执行所述SQL语句并将执行结果通过逻辑层转发至页面层。
【专利摘要】本发明公开了一种WEB表单数据存取方法和系统,涉及数据处理技术领域。本发明实施例,通过开放用户界面层,集成对象关系映射和数据库访问层,提供了一种WEB表单数据存取方法和系统,使用该系统,开发者只需保持Web页面表单字段和数据库字段名称相同,调用该方法,便可实现WEB表单的增删改查的数据操控,进而实现数据存取,无需过多的配置,而如果存在配置错误,系统的底层会智能纠错,使系统稳定可靠;而且通过页面来控制所需的字段,Web页面布局可以随意调整,方便灵活高效。
【IPC分类】G06F17/30
【公开号】CN104881490
【申请号】CN201510315502
【发明人】李宁, 白东伟, 刘艳民, 李少杰, 胡伟
【申请人】中科宇图天下科技有限公司
【公开日】2015年9月2日
【申请日】2015年6月10日
转载请注明原文地址:https://www.famiwei.com/read-8138585.html

最新回复(0)