CN113360152A - 一种参数化数据查询网页显示程序实现方法和系统 - Google Patents

一种参数化数据查询网页显示程序实现方法和系统 Download PDF

Info

Publication number
CN113360152A
CN113360152A CN202110655702.3A CN202110655702A CN113360152A CN 113360152 A CN113360152 A CN 113360152A CN 202110655702 A CN202110655702 A CN 202110655702A CN 113360152 A CN113360152 A CN 113360152A
Authority
CN
China
Prior art keywords
query
webpage
data
parameter
static
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110655702.3A
Other languages
English (en)
Other versions
CN113360152B (zh
Inventor
黄宇辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ruanzi Digital Software Guangzhou Co ltd
Original Assignee
Ruanzi Digital Software Guangzhou Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ruanzi Digital Software Guangzhou Co ltd filed Critical Ruanzi Digital Software Guangzhou Co ltd
Priority to CN202110655702.3A priority Critical patent/CN113360152B/zh
Publication of CN113360152A publication Critical patent/CN113360152A/zh
Application granted granted Critical
Publication of CN113360152B publication Critical patent/CN113360152B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种参数化数据查询网页显示程序实现方法和系统,建立保存数据库连接参数的数据库参数表以及存储所需参数的查询参数表;对静态网页进行标签化处理得到静态标签网页,具体指的是分类获取静态网页中的非表格的单字段、表格化数据、变量字段,将其相应地用标签代替,然后依次在查询参数表中增加记录,录入非表格的单字段、表格化数据对应的参数;在服务器端建立参数化WEB程序,运行时读取时URL传入查询编号所对应查询参数和静态标签网页,获取对应的数据并替换静态标签网页上对应的单字段标签或表格化数据标签,使用Session变量值替换变量字段标签,最终将结果网页发送给浏览器。本发明简化了此类功能查询程序重复开发,大大提高了开发效率。

Description

一种参数化数据查询网页显示程序实现方法和系统
技术领域
本发明涉及WEB技术领域,特别是涉及动态网页、静态网页、数据库技术。
背景技术
通过WEB服务器对数据查询进行网页展示是常见需求。最常见的数据源有数据库、EXCEL文件等。现在一般开发实现的方法是针对每一个查询,相应编写查询程序,在每一个查询程序中,针对每一个显示字段,都需要把数据获取和内容显示用代码来实现,这种方式每一个查询都需要开发一个程序,开发工作量大。如果查询有变化,需要重新修改程序,进行编译,停止原来程序运行,然后再发布,后续维护工作量大。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种参数化数据查询网页显示程序实现方法和系统,解决了现有技术中开发工作量大,如果查询有变化,需要重新修改程序,进行编译,停止原来程序运行,然后再发布,后续维护工作量大的技术问题。
为了达到上述目的,本发明所采用的具体技术方案如下:
一种参数化数据查询网页显示程序实现方法,具体包括以下步骤:
S1,参数定义:在服务器端建立数据库参数表或建立唯一的数据库连接参数以及查询参数表,所述数据库参数表用于保存每个数据库对应的连接参数,所述查询参数表用于存储所需的参数;
S2,静态网页查询结果标签化:在服务器端建立静态网页并对其进行标签化处理得到静态标签网页,标签化处理具体指的是分类获取静态网页中的非表格的单字段、表格化数据、变量字段,将其相应地用单字段标签、表格化数据标签、变量字段标签代替,然后依次在查询参数表中增加记录,录入非表格的单字段、表格化数据对应的参数;
S3,执行参数查询程序:在服务器端建立参数化WEB程序,在浏览器访问该参数化WEB程序时URL参数上加上查询编号,所述参数化WEB程序读取所述查询编号对应查询参数和静态标签网页,从服务器端获取对应的数据并替换静态标签网页上对应的单字段标签或表格化数据标签,使用参数化WEB程序中Session变量值替换变量字段标签,最终将包含实际数据内容的网页内容发送给WEB服务器后返回给浏览器。
优选的,所述数据库参数表包括库编号和数据库连接参数;所述查询参数表包括查询编号、查询类型、数据来源,所述查询类型包括非表格形式和表格形式,若为表格形式,则参数查询表还包括表格行模板、表格名称;所述数据来源至少包括第一数据来源、第二数据来源、第三数据来源,若为第一数据来源,则查询参数表还包括库编号、SQL语句、查询字段;若为第二数据来源,则查询参数表还包括Json名、查询字段;若为第三数据来源,则查询参数表还包括Excel表名、Excel参数、查询字段。
优选的,标签化处理具体指的是分类获取静态网页中的非表格的单字段、表格化数据、变量字段,将其相应地用单字段标签、表格化数据标签、变量字段标签代替,然后依次在查询参数表中增加记录,录入非表格的单字段、表格化数据对应的参数具体包括以下步骤;
为静态网页设置一个查询编号;
针对静态网页中的非表格的单字段显示,按照同一数据源对非表格的单字段进行分类,将这些单字段取名后用单字段标签替换,在查询参数表中增加一条记录,录入非表格的单字段对应的参数;
针对静态网页中的表格化数据,取原始表格化数据的单行网页代码,将其中将各个单字段取名后用单字段标签代替,得到表格行模板;将表格化数据命名后除去表头和表尾将表体内容用表格化数据标签进行代替,在查询参数表中增加一条记录,录入表格化数据标签对应的参数;
将标签化的静态网页改名“查询编号.htm”后保存,得到静态标签网页。在此说明,改成这种规则的名称,是为了参数化WEB程序可以通过得到查询参数后对应获取静态网页内容。如果不改名,则在调用参数化WEB程序时,需要将静态标签网页名称作为参数传入,参数化WEB查询程序通过該参数获取静态标签网页文件。
优选的,录入非表格的单字段对应的参数包括但不限于查询编号、查询类别、数据来源、库编号、SQL语句、Json名称、查询字段;其中查询字段中包含所有此同一数据源下所有的单字段标签中的名称以及与数据源实际字段名的对应关系组;
录入表格化数据标签对应的参数包括但不限于查询编号、查询类别、数据来源、库编号、SQL语句、Json名称、Excel名称、Excel参数、表格行模板、查询字段、表格名称,其中表格名称为静态标签网页中此表格数据标签中的名称,其中查询字段中包含在同一数据源下表格行模板中所有单字段标签中的名称以及与数据源实际字段名的对应关系组。
优选的,所述变量字段的标签名称为WEB查询程序中的Session变量名称,这些Session变量可以是程序没为实现其他功能时在WEB查询程序中定义或者在同一项目中其它页面程序定义的Session变量。
优选的,还包括以下步骤:
S4,程序功能修改:查询功能需要修改时,修改静态标签网页或查询参数表,在浏览器重新访问参数化WEB程序时,完成程序功能修改。
一种参数化数据查询网页显示程序实现系统,包括:
参数定义单元,在服务器端建立数据库参数表或建立唯一的数据库连接参数以及查询参数表,所述数据库参数表用于保存每个数据库对应的连接参数,所述查询参数表用于存储所需的参数;
静态网页,在服务器端建立静态网页并对其进行标签化处理得到静态标签网页,标签化处理具体指的是分类获取静态网页中的非表格的单字段、表格化数据、变量字段,将其相应地用单字段标签、表格化数据标签、变量字段标签代替,然后依次在查询参数表中增加记录,录入非表格的单字段、表格化数据对应的参数;
参数化WEB程序,在浏览器访问该参数化WEB程序时URL参数上加上查询编号,所述参数化WEB程序读取所述查询编号对应查询参数和静态标签网页,从服务器端获取对应的数据并替换静态标签网页上对应的单字段标签或表格化数据标签,使用参数化WEB程序中Session变量值替换变量字段标签,最终将包含实际数据内容的网页内容发送给WEB服务器后返回给浏览器。
本发明的有益效果在于:
1、本发明的参数化WEB数据查询方法,一个程序实现了很多数据Web查询的开发,减少了程序重复开发,大大提高了开发效率。
2、查询条件变化时,不需要修改程序代码,只需修改参数,即实现了程序功能修改,后台维护简单。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种参数化数据查询网页显示程序实现方法的流程图;
图2是本发明实施例提供的一种参数化数据查询网页显示程序实现方法的详细流程图;
图3是现有技术与本发明在程序开发上的对比图;
图4是现有技术与本发明程序流程对比图;
图5是现有技术与本发明的程序功能修改流程的对比图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的其他实施例,都属于本发明保护的范围。
如图1所示,本发明提出了一种参数化数据查询网页显示程序实现方法,具体包括以下步骤:
S1,参数定义:在服务器端建立数据库参数表或建立唯一的数据库连接参数以及查询参数表,所述数据库参数表用于保存每个数据库对应的连接参数,所述查询参数表用于存储所需的参数;
所述数据库参数表包括库编号和数据库连接参数;所述查询参数表包括查询编号、查询类型、数据来源,所述查询类型包括非表格形式和表格形式,若为表格形式,则参数查询表还包括表格行模板、表格名称;所述数据来源至少包括第一数据来源、第二数据来源、第三数据来源,若为第一数据来源,则查询参数表还包括库编号、SQL语句、查询字段;若为第二数据来源,则查询参数表还包括Json名、查询字段;若为第三数据来源,则查询参数表还包括Excel表名、Excel参数、查询字段。
S2,静态网页查询结果标签化:在服务器端建立静态网页并对其进行标签化处理得到静态标签网页,标签化处理具体指的是分类获取静态网页中的非表格的单字段、表格化数据、变量字段,将其相应地用单字段标签、表格化数据标签、变量字段标签代替,然后依次在查询参数表中增加记录,录入非表格的单字段、表格化数据对应的参数;
步骤S2中标签化处理具体指的是分类获取静态网页中的非表格的单字段、表格化数据、变量字段,将其相应地用单字段标签、表格化数据标签、变量字段标签代替,然后依次在查询参数表中增加记录,录入非表格的单字段、表格化数据对应的参数具体包括以下步骤
为静态网页设置一个查询编号;
针对静态网页中的非表格的单字段显示,按照同一数据源对非表格的单字段进行分类,将这些单字段取名后用单字段标签替换,在查询参数表中增加一条记录,录入非表格的单字段对应的参数;
针对静态网页中的表格化数据,取原始表格化数据的单行网页代码,将其中将各个单字段取名后用单字段标签代替,得到表格行模板;将表格化数据命名后除去表头和表尾将表体内容用表格化数据标签进行代替,在查询参数表中增加一条记录,录入表格化数据标签对应的参数;
将标签化的静态网页改名“查询编号.htm”后保存,得到静态标签网页。在此说明,改成这种规则的名称,是为了参数化WEB程序可以通过得到查询参数后对应获取静态网页内容。如果不改名,则在调用参数化WEB程序时,需要将静态标签网页名称作为参数传入,参数化WEB查询程序通过該参数获取静态标签网页文件。
录入非表格的单字段对应的参数包括但不限于查询编号、查询类别、数据来源、库编号、SQL语句、Json名称、查询字段;其中查询字段中包含所有此同一数据源下所有的单字段标签中的名称以及与数据源实际字段名的对应关系组;
录入表格化数据标签对应的参数包括但不限于查询编号、查询类别、数据来源、库编号、SQL语句、Json名称、Excel名称、Excel参数、表格行模板、查询字段、表格名称,其中表格名称为静态标签网页中此表格化数据标签中的名称,其中查询字段中包含在同一数据源下表格行模板中所有单字段标签中的名称以及与数据源实际字段名的对应关系组。
S3,执行参数查询程序:在服务器端建立参数化WEB程序,在浏览器访问该参数化WEB程序时URL参数上加上查询编号,所述参数化WEB程序读取所述查询编号对应查询参数和静态标签网页,从服务器端获取对应的数据并替换静态标签网页上对应的单字段标签或表格化数据标签,使用参数化WEB程序中Session变量值替换变量字段标签,最终将包含实际数据内容的网页内容发送给WEB服务器后返回给浏览器。所述变量字段的标签名称为WEB查询程序中的Session变量名称。
作为本发明的另一个实施例还包括步骤:S4,程序功能修改:查询功能需要修改时,修改静态标签网页或查询参数表,在浏览器重新访问参数化WEB程序时,完成程序功能修改。
本发明还提出了一种参数化数据查询网页显示程序实现系统,包括
参数定义单元,在服务器端建立数据库参数表或建立唯一的数据库连接参数以及查询参数表,所述数据库参数表用于保存每个数据库对应的连接参数,所述查询参数表用于存储所需的参数;
静态网页,在服务器端建立静态网页并对其进行标签化处理得到静态标签网页,标签化处理具体指的是分类获取静态网页中的非表格的单字段、表格化数据、变量字段,将其相应地用单字段标签、表格化数据标签、变量字段标签代替,然后依次在查询参数表中增加记录,录入非表格的单字段、表格化数据对应的参数;
参数化WEB程序,在浏览器访问该参数化WEB程序时URL参数上加上查询编号,所述参数化WEB程序读取所述查询编号对应查询参数和静态标签网页,从服务器端获取对应的数据并替换静态标签网页上对应的单字段标签或表格化数据标签,使用参数化WEB程序中Session变量值替换变量字段标签,最终将包含实际数据内容的网页内容发送给WEB服务器后返回给浏览器。
如图2所示,以下对本发明提出的方法进行详细说明:
一、建立一个数据库参数表,用于保存每个数据库的连接参数,使得程序可以访问不同的数据库,显示不同数据库表的内容。
参数内容:
库编号:整型,用于唯一标识。
连接参数:用于保存程序连接此数据库所需要的参数。
如果不建立此表,则在程序中设置唯一的数据库连接参数,做为默认连接。建立后,取库编号1为默认连接。
二.建立一个查询参数表,用于保存查询所用到的参数。
该表含有的内容有:
1、查询编号:用于定义一个查询页面的编号。
2、查询类别:字段内容从显示形式来说分两种,一种是单字段自由位置显示(非表格),另一种是以表格形式显示这里分别用1和2来代表,1代表非表格,2代表表格。
3、数据来源:用于定义网页字段内容的数据来源,本发明提供3种数据来源:1)数据库,2)Json,Json数据保存在Session变量中,3)Excel。
4、库编号:如果数据来源是1,从数据库中查询,这里输入表1中的库编号。不填时,取默认连接。
5、SQL语句:如果数据来源是1,这里输入查询数据库表的SQL语句,如果里面查询条件涉及请求参数和程序Session内部变量,分别用标签[?请求参数名]和[!内部变量名]来代替。
6、Json名:如果数据来源是2,这里输入保存Json内容的Session变量名称。Json是当前一种常用数据格式,这里Session变量的内容,可以在其它页面程序中获取,通过Session保存,由此查询程序进行读取显示。
7、Excel表名:如果数据来源是3,这里录入Excel文件名称。
8、Excel参数:如果数据来源是3,这里录入Excel的sheet编号,起始行号。格式以逗号分隔,终止行号可以不输入,表示所有数据。
9、查询字段:如果数据来源是是1和2时,由于SQL表中字段名称和Json中字段名可能是英文,为直观方便,每个字段名对应取一个中文名称,这个中文名称在后续网页标签中会使用,这里按以下格式录入:
中文名称1:字段名1,中文名称2:字段名2,…
如果数据来源是3,上面字段名为Excel的列号。
10、表格行模板:用于保存网页中多行表格的单一行网页标签化后的内容。操作方法:在原始网页显示多行内容的表格中,在网页上用一种表格形式的格式来显示,一般是用<table>或者<div>方式来显示,其中每一行的显示内容,都是具有相同格式的网页代码组成。将其一行的网页代码取出,然后将其中需要显示的每一个字段的内容分别取一个名称后,用标签替代,标签的格式为[#字段名],最后这行网页代码就作为表格行模板。
11、表格名称:如果查询类别是2,这里为表格内容取一个名称,不能与其它字段标签名和表格名称重复,这个名称作为表格名称输入。
三、针对每一个网页查询页面,按以下流程进行:
1、做好静态效果的网页。该网页已经模拟显示了实际显示效果,其中涉及数据字段显示内容部份,由模拟数据组成。
2、为这个网页取一个查询编号A。
3、下面开始将静态网页进行标签化处理。
4、针对网页上的非表格的单字段显示,首先确定哪些字段是由同一个数据源获取。
如果是数据库,则同一个数据库里面的同一个表为同一个数据源。
如果是Json格式变量,则同一个Json变量里面的所有字段为同一个数据源。
将第一个同数据源的每一个字段分别取一个名称(B1,B2,B3..Bn),这些字段内容分别用标签来代替,标签格式为[#B1],[#B2]...[#Bn],为直观明了,这个字段名可以是中文名。例如,原来显示姓名内容,用[#姓名]来代替。这些名称在本页面中不能重复。
5、然后在查询参数表中,增加一条记录,将这一批非表格的单字段查询的对应参数录入。
增加的内容为:
(1)查询编号:步2所取编号值A。
(2)查询类别:这里录入1(非表格)。
(3)数据来源:如果来源是数据库表,这里录入1,如果是Json,这里录入2。
(4)库编号:如果数据来源是1(数据库),这里录入表1中的库编号,不录入则取默认。
(5)SQL语句:如果数据来源是1,这里输入SQL语句。
由于一个网页查询,经常需要有网页请求参数,这里的SQL语句中,将涉及使用网页请求参数的部份以特别标签[?请求参数名]来代替,另外SQL语句中有用到程序内部Session变量地方,以标签[!变量名]来代替。
例如Select姓名,学号from学生档案where学号=[?学号请求参数]。
以下涉及SQL语句相同,不再重复说明。
(6)Json名称:如果数据据来源是类别2,这里录入保存Json内容的Session变量名称。
(7)查询字段:
由于SQL表和Json中实际字段名(C1,C2,...Cn)可能是英文,为将步4录入的名称(B1,B2,..Bn)与字段名(C1,C2...Cn)对应,这里按以下格式录入:
B1:C1,B2:C2,....Bn:Cn
6、针对其它单字段显示,依次按步4和步5执行,直到所有单字段标签化和参数化录入完成。
7、针对网页上表格化数据显示,先找到还是原始内容没有做标签化的第一个表格化数据显示,取出其单行网页代码D,为这个表格内容取一个名称E,然后将此表格除表头和表尾后表体中所有显示行的内容,用表格化数据标签[#E]来代替,这个名称不能与现在标签字段名称或以往表格名称相同。
8、在查询参数表中增加一条记录,将这一表格行查询的对应参数录入。
录入的内容为:
(1)查询编号:步2所取编号值A。
(2)查询类别:这里输入2(表格)
(3)数据来源:如果来源是数据库表,这里录入1,如果是Json,这里录入2,如果是Excel,这里录入3。
(4)库编号:如果数据来源是1(数据库),这里录入表1中的库编号,不录入则取默认。
(5)SQL:如果数据来源是1(数据据),则这里输入SQL语句。
例如Select姓名,学号from学生档案where学号=学号请求参数。
(6)Json名称:如果数据来源是2,这里录入保存JsonArray内容的Session变量名称。
(7)Excel名称:如果数据来源是3,这里录入Excel表的文件名。
(8)Excel参数:如果数据来源是3,这里录入Excel表的Sheet编号,起始行号。
(9)表格行模板:这里将步7取出的单行网页代码D,将其中的每一个字段内容,分别取一个名称后(B1,B2...Bn),单字段标签来代替,标签格式为[#B1]....[#Bn],最终将替换完成后的单行网页代码录入。
(10)查询字段:
由于SQL表和Json中实际字段名(C1,C2,...Cn)可能是英文,为将步9录入的名称(B1,B2,..Bn)与字段名(C1,C2...Cn)对应,这里按以下格式录入:
B1:C1,B2:C2,....Bn:Cn
如果数据来源3(Excel)时,上面的字段名录入Excel的列号。
(11)查询名称,录入步7中所为这个查询名称E。
9、针对网页上其它的表格显示,按步7和8全部执行,直到全部表格化数据标签化完成。
10、除去那些数据外,经常网页上还有些单字段数据内容,由程序内部Session变量获取,比如用户名等等,这里将这些内容用标签[$变量名]替换。
11、将标签化的网页,改名F保存。F命名是A.htm。
四、建立专用的参数化WEB程序AQuery.aspx。
调用方式为:AQuery.aspx?id=网页编号&用户自定义的查询参数
上述网页的调用实例为:http://网址/AQuery.aspx?id=A&用户自定义的查询参数
该专用查询程序,按以下流程执行:
1、读入数据库参数表,取得所有数据库连接参数;从url请求参数id中获取根据查询编号,根据查询编号,读取相应静态标签网页文件F到字符串变量G。
2、根据该查询编号从查询参数表中读取所有查询参数定义。依次处理每一条参数定义记录。
3、依次根据查询参数表中查询字段中B1:C1,B2:C2....Bn:Cn,以字符逗号“,”分隔后,获得关于B1:C1,....这样的数组,再对每一个子项以字符“:”号隔后,分别得到B1和C1,这样全部处理完成,分别取得名称列表(B1,B2,...Bn)和字段列表(C1,C2,...Cn)。
4、根据参数定义,如果查询类别是1,根据数据来源内容,
(a)如果是1(数据库表),取得SQL语句,首先对SQL语句中所有查询参数标签[?URL参数名],依次取得请求参数名的值,替换标签[?URL参数名],然后对所有Session变量标签[!变量名],取得Session[变量名]的值进行替换,获取最终实际运行的SQL语句,根据库编号,连接指定数据库,执行此SQL语句。
依次对每一个字段名(C1,C2,...Cn),从SQL查询结果中获取相应的字段值H1,H2,..Hn,对静态网页文件内容G变量,从单个字段标签[#B1]替换成H1起,,直到全部字段替换完成。
(b)如果数据来源是2(Json),根据Json名称I,从Session[I]中获取这个Json的内容,将字符串内容转换成JsonObject变量J,根据参数中的查询字段(B1:C1,B2,C2...Bn:Cn)获取字段列表(C1,C2,C3,...Cn),依次根据字段名从JsonObject变量J中获取相应的字段值H1,H2,..Hn,对静态网页文件内容G变量,从单个字段标签[#B1]替换成H1起,直到全部字段替换完成。
5、如果查询类别是2,是表格内容,根据数据来源:
(a)如果是1(数据库)取得SQL语句,首先对SQL语句中查询参数标签替换,获取最终实际运行的SQL语句,执行此SQL语句。
(b)如果是2(Json),根据Json名称I,从Session[I]中获取这个Json的内容,将字符串内容转换成JsonArray变量J2。
(c)如果是3(Excel),则读Excel文件。
6、这里开始获取表格显示内容。设一字符串变量K,内容为空。
7、取出单一表格行网页模板,保存为变量L。
8、根据数据来源,依次根据字段名(C1,C2,...Cn),相应的从步5的SQL查询结果、JsonArray变量J2、Excel文件中当前行获取相应的字段值H1,H2,..Hn,对变量L,将其中单个字段标签从[#B1]替换成H1开始,直到全部字段替换完成。
9、将内容L的内容加到变量K中,行号加1。
10、依次执行7到9,直到全部数据行结束。
11、取得查询参数表中的表格名称E,将F中的[#E]用变量K内容来替换,这样表格行的全部实际内容替换成功。
12、依次执行3到11,直到所有参数定义执行完成。
13、搜索F中的所有格式标签[$N1],[$N2]...[$Nn],取得名称N1,N2...Nn,将此标签替换成Session[N1],Session[N2]...Session[Nn]的值。
14、将替换后的网页内容F,发送WEB服务器,最终用户通过浏览器获取动态查询结果网页。
应该说明,上述查询参数表,从形态上来说可以分成2个表,非表格查询参数表和表格查询参数表。另一种表结构上来说,可以在表中建立多个组的字段,在一条记录中记录全部参数定义。这种方式的特点是一次读取数据库就可以。缺点在于字段组固定,有最大参数条数限值。上述不同形式等等,对程序流程做小的调整,从本质上来说都是相同。
以下为本发明的具体实施案例:
实施案例:
一、数据库参数表
库编号:1
连接参数:
Data Source=(192.168.1.1);Database=ABC;User ID=admin;Password=”123456”
二、静态网页,显示学生姓名和成绩。
<html>
<body>
姓名:王成,学号:100</br>
成绩:</br>
<table>
<tr><td>语文:</td><td>90</td></tr>
<tr><td>数学:</td><td>99</td></tr>
</table>
</body>
</html>
2、需要查询两个表,一个表是学生情况,另一个表是成绩表。
表1学生情况表student结构:
Create table student{
Sid int,//学号
name char(30)//姓名
}
表2成绩表score结构:
Create table score{
Sid int,//学号
lesson char(20),//课程名称
score int//成线
}
三、在参数化定义中,相应需要定义两个内容,一个是学生情况参数,一个是成绩表参数。
四、参数化定义1,是非表格形式,
查询参数表记录1:
查询类型:1
数据来源:1
SQL语句:select*from student where sid=100
查询字段:姓名:name,学号:sid
五、参数化定义2,学生成绩,这个是表格形式。
原始表格行Html:<tr><td>语文:</td><td>90</td></tr>
查询参数表记录2:
查询编号:001
查询类型:2
数据来源:1
SQL语句:select*from score where学号=100
查询字段:课程:lesson,成绩:score
表格行模板:<tr><td>[#课程]:</td><td>[#成绩]</td></tr>
表格名称:成绩列表
六、将网页标签化,得到静态标签网页,文件名001.htm
<html>
<body>
姓名:[#姓名]学号:[#学号]</br>
成绩:</br>
<table>
[#成绩列表]
</table>
</body>
</html>
七、参数化查询程序,按照以下流程执行:
(1)根据查询编号,读取查询参数定义。
(2)根据查询编号,读取静态标签网页
调用方式为:AQuery.aspx?id=查询编号&用户自定义的查询参数
上述网页的调用实例为:http://网址/AQuery.aspx?id=001
该专用查询程序,按以下流程执行:
1、读入数据库参数表,取得所有数据库连接参数,从url请求参数id中获取根据查询编号001,读取静态标签网页文件F:”001.htm“到字符串变量G。
2、根据该查询编号001从查询参数表中读取所有查询参数定义。依次处理每一条参数定义记录。
3、依次根据查询参数表中查询字段中B1:C1,B2:C2....Bn:Cn,以字符逗号“,”分隔后,获得关于B1:C1,....这样的数组,再对每一个子项以字符“:”号隔后,分别得到B1和C1,这样全部处理完成,分别取得名称列表(B1,B2,...Bn)和字段列表(C1,C2,...Cn)。
4、根据参数定义,如果查询类别是1,根据数据来源内容,
(a)如果是1(数据库表),取得SQL语句,首先对SQL语句中所有查询参数标签[?URL参数名],依次取得请求参数名的值,替换标签[?URL参数名],然后对所有Session变量标签[!变量名],取得Session[变量名]的值进行替换,获取最终实际运行的SQL语句,根据库编号,连接指定数据库,执行此SQL语句。
依次对每一个字段名(C1,C2,...Cn),从SQL查询结果中获取相应的字段值H1,H2,..Hn,对静态网页文件内容G变量,从单个字段标签[#B1]替换成H1起,,直到全部字段替换完成。
(b)如果数据来源是2(Json),根据Json名称I,从Session[I]中获取这个Json的内容,将字符串内容转换成JsonObject变量J,根据参数中的查询字段(B1:C1,B2,C2...Bn:Cn)获取字段列表(C1,C2,C3,...Cn),依次根据字段名从JsonObject变量J中获取相应的字段值H1,H2,..Hn,对静态网页文件内容G变量,从单个字段标签[#B1]替换成H1起,直到全部字段替换完成。
5、如果查询类别是2,是表格内容,根据数据来源:
(a)如果是1(数据库)取得SQL语句,首先对SQL语句中查询参数标签替换,获取最终实际运行的SQL语句,执行此SQL语句。
(b)如果是2(Json),根据Json名称I,从Session[I]中获取这个Json的内容,将字符串内容转换成JsonArray变量J2。
(c)如果是3(Excel),则读Excel文件。
6、这里开始获取表格显示内容。设一字符串变量K,内容为空。
7、取出单一表格行网页模板,保存为变量L。
8、根据数据来源,依次根据字段名(C1,C2,...Cn),相应的从步5的SQL查询结果、JsonArray变量J2、Excel文件中当前行获取相应的字段值H1,H2,..Hn,对变量L,将其中单个字段标签从[#B1]替换成H1开始,直到全部字段替换完成。
9、将内容L的内容加到变量K中,行号加1。
10、依次执行7到9,直到全部数据行结束。
11、取得查询参数表中的表格名称E,将F中的[#E]用变量K内容来替换,这样表格行的全部实际内容替换成功。
依次执行3到11,直到所有参数定义执行完成。
本发明还提出了一种参数化数据查询网页显示程序实现系统,包括
参数定义单元,在服务器端建立数据库参数表或建立唯一的数据库连接参数以及查询参数表,所述数据库参数表用于保存每个数据库对应的连接参数,所述查询参数表用于存储所需的参数;
静态网页,在服务器端建立静态网页并对其进行标签化处理得到静态标签网页,标签化处理具体指的是分类获取静态网页中的非表格的单字段、表格化数据、变量字段,将其相应地用单字段标签、表格化数据标签、变量字段标签代替,然后依次在查询参数表中增加记录,录入非表格的单字段、表格化数据对应的参数;
参数化WEB程序,在浏览器访问该参数化WEB程序时URL参数上加上查询编号,所述参数化WEB程序读取所述查询编号对应查询参数和静态标签网页,从服务器端获取对应的数据并替换静态标签网页上对应的单字段标签或表格化数据标签,使用参数化WEB程序中Session变量值替换变量字段标签,最终将包含实际数据内容的网页内容发送给WEB服务器后返回给浏览器。
图3a-图5a为现有技术,图3b-图5b为本发明,本发明的有益效果在于:
1、本发明的参数化WEB数据查询方法,一个程序实现了很多数据Web查询的开发,减少了程序重复开发,大大提高了开发效率。数据来源多样化,数据库,Json、Excel和内部Session变量。
2、查询条件变化时,不需要修改程序代码,只需修改参数,即实现了程序功能修改,后续维护简单。
3、原程序不需要停止运行,参数修改完成,浏览器重新发起查询调用时,新功能即实现。
4、发明方案实现简单,开放式设计,即可独立运行,也可与项目中其它程序结合使用,当前主流Web开发语言Asp.net、Java、Php等都可以实现。另外,此发明中网页与程序无关,可以自由选择网页设计程序来编辑设计。
本发明的关键点在于:
1、查询参数化表,将静态网页标签化,将标签化相关的参数保存在参数化表,参数化WEB程序根据查询参数,读取数据库或者保存在Session中Json数据或者Excel文件,将相关标签替换成实际的数据内容进行显示。
2、参数化WEB程序可以将程序中Session内容,在网页上通过标签式方式,显示出来,生成最终网页,返回给Web服务器。
以上述依据本发明的理想实施例为启示,通过上述的说明内容,本领域技术人员完全可以在不偏离本发明技术思想的范围内,进行多样的变更以及修改。本发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求书范围来确定其技术性范围。

Claims (7)

1.一种参数化数据查询网页显示程序实现方法,其特征在于,具体包括以下步骤:
S1,参数定义:在服务器端建立数据库参数表或建立唯一的数据库连接参数以及查询参数表,所述数据库参数表用于保存每个数据库对应的连接参数,所述查询参数表用于存储所需的参数;
S2,静态网页查询结果标签化:在服务器端建立静态网页并对其进行标签化处理得到静态标签网页,标签化处理具体指的是分类获取静态网页中的非表格的单字段、表格化数据、变量字段,将其相应地用单字段标签、表格化数据标签、变量字段标签代替,然后依次在查询参数表中增加记录,录入非表格的单字段、表格化数据对应的参数;
S3,执行参数查询程序:在服务器端建立参数化WEB程序,在浏览器访问该参数化WEB程序时URL参数上加上查询编号,所述参数化WEB程序读取所述查询编号对应查询参数和静态标签网页,从服务器端获取对应的数据并替换静态标签网页上对应的单字段标签或表格化数据标签,使用参数化WEB程序中Session变量值替换变量字段标签,最终将包含实际数据内容的网页内容发送给WEB服务器后返回给浏览器。
2.根据权利要求1所述的一种参数化数据查询网页显示程序实现方法,其特征在于,所述数据库参数表包括库编号和数据库连接参数;所述查询参数表包括查询编号、查询类型、数据来源,所述查询类型包括非表格形式和表格形式,若为表格形式,则参数查询表还包括表格行模板、表格名称;所述数据来源至少包括第一数据来源、第二数据来源、第三数据来源,若为第一数据来源,则查询参数表还包括库编号、SQL语句、查询字段;若为第二数据来源,则查询参数表还包括Json名、查询字段;若为第三数据来源,则查询参数表还包括Excel表名、Excel参数、查询字段。
3.根据权利要求1所述的一种参数化数据查询网页显示程序实现方法,其特征在于,步骤S2,静态网页查询结果标签化:在服务器端建立静态网页并对其进行标签化处理得到静态标签网页,标签化处理具体指的是分类获取静态网页中的非表格的单字段、表格化数据、变量字段,将其相应地用单字段标签、表格化数据标签、变量字段标签代替,然后依次在查询参数表中增加记录,录入非表格的单字段、表格化数据对应的参数具体包括以下步骤;
为静态网页设置一个查询编号;
针对静态网页中的非表格的单字段显示,按照同一数据源对非表格的单字段进行分类,将这些单字段取名后用单字段标签替换,在查询参数表中增加一条记录,录入非表格的单字段对应的参数;
针对静态网页中的表格化数据,取原始表格化数据的单行网页代码,将其中将各个单字段取名后用单字段标签代替,得到表格行模板;将表格化数据命名后除去表头和表尾将表体内容用表格化数据标签进行代替,在查询参数表中增加一条记录,录入表格化数据标签对应的参数;
将标签化的静态网页改名后保存,得到静态标签网页。
4.根据权利要求3所述的一种参数化数据查询网页显示程序实现方法,其特征在于,录入非表格的单字段对应的参数包括但不限于查询编号、查询类别、数据来源、库编号、SQL语句、Json名称、查询字段;其中查询字段中包含所有此同一数据源下所有的单字段标签中的名称以及与数据源实际字段名的对应关系组;
录入表格化数据标签对应的参数包括但不限于查询编号、查询类别、数据来源、库编号、SQL语句、Json名称、Excel名称、Excel参数、表格行模板、查询字段、表格名称,其中表格名称为静态标签网页中此表格数据标签中的名称,其中查询字段中包含在同一数据源下表格行模板中所有单字段标签中的名称以及与数据源实际字段名的对应关系组。
5.根据权利要求1所述的一种参数化数据查询网页显示程序实现方法,其特征在于,所述变量字段的标签名称为WEB查询程序中的Session变量名称。
6.根据权利要求1所述的一种参数化数据查询网页显示程序实现方法,其特征在于,还包括以下步骤:
S4,程序功能修改:查询功能需要修改时,修改静态标签网页或查询参数表,在浏览器重新访问参数化WEB程序时,完成程序功能修改。
7.一种参数化数据查询网页显示程序实现系统,其特征在于,包括:
参数定义单元,在服务器端建立数据库参数表或建立唯一的数据库连接参数以及查询参数表,所述数据库参数表用于保存每个数据库对应的连接参数,所述查询参数表用于存储所需的参数;
静态网页,在服务器端建立静态网页并对其进行标签化处理得到静态标签网页,标签化处理具体指的是分类获取静态网页中的非表格的单字段、表格化数据、变量字段,将其相应地用单字段标签、表格化数据标签、变量字段标签代替,然后依次在查询参数表中增加记录,录入非表格的单字段、表格化数据对应的参数;
参数化WEB程序,在浏览器访问该参数化WEB程序时URL参数上加上查询编号,所述参数化WEB程序读取所述查询编号对应查询参数和静态标签网页,从服务器端获取对应的数据并替换静态标签网页上对应的单字段标签或表格化数据标签,使用参数化WEB程序中Session变量值替换变量字段标签,最终将包含实际数据内容的网页内容发送给WEB服务器后返回给浏览器。
CN202110655702.3A 2021-06-11 2021-06-11 一种参数化数据查询网页显示程序实现方法和系统 Active CN113360152B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110655702.3A CN113360152B (zh) 2021-06-11 2021-06-11 一种参数化数据查询网页显示程序实现方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110655702.3A CN113360152B (zh) 2021-06-11 2021-06-11 一种参数化数据查询网页显示程序实现方法和系统

Publications (2)

Publication Number Publication Date
CN113360152A true CN113360152A (zh) 2021-09-07
CN113360152B CN113360152B (zh) 2023-11-03

Family

ID=77533986

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110655702.3A Active CN113360152B (zh) 2021-06-11 2021-06-11 一种参数化数据查询网页显示程序实现方法和系统

Country Status (1)

Country Link
CN (1) CN113360152B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092917A (zh) * 2012-12-20 2013-05-08 山东舜德数据管理软件工程有限公司 一种自定义标签实现浏览器页面业务字典的查询方法
CN103606045A (zh) * 2013-11-20 2014-02-26 国家电网公司 报表生成方法和报表系统
CN104699748A (zh) * 2014-12-19 2015-06-10 深圳市燃气集团股份有限公司 一种展示不固定列报表的方法及其系统
CN108255478A (zh) * 2018-01-19 2018-07-06 上海锐垚科技有限公司 一种标签式模板开发方法
CN108279879A (zh) * 2018-01-25 2018-07-13 北京卓越智软科技有限公司 面向引擎的应用软件开发方法
US20180218050A1 (en) * 2017-01-31 2018-08-02 Splunk Inc. Generating visualizations for search results data containing multiple data dimensions
CN111177185A (zh) * 2019-12-30 2020-05-19 北京同创永益科技发展有限公司 一种记录用户选择动态表格的方法和系统以及装置
CN111190597A (zh) * 2019-12-27 2020-05-22 天津浪淘科技股份有限公司 一种数据ue可视化设计系统
CN112506946A (zh) * 2020-12-03 2021-03-16 平安科技(深圳)有限公司 业务数据查询方法、装置、设备及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092917A (zh) * 2012-12-20 2013-05-08 山东舜德数据管理软件工程有限公司 一种自定义标签实现浏览器页面业务字典的查询方法
CN103606045A (zh) * 2013-11-20 2014-02-26 国家电网公司 报表生成方法和报表系统
CN104699748A (zh) * 2014-12-19 2015-06-10 深圳市燃气集团股份有限公司 一种展示不固定列报表的方法及其系统
US20180218050A1 (en) * 2017-01-31 2018-08-02 Splunk Inc. Generating visualizations for search results data containing multiple data dimensions
CN108255478A (zh) * 2018-01-19 2018-07-06 上海锐垚科技有限公司 一种标签式模板开发方法
CN108279879A (zh) * 2018-01-25 2018-07-13 北京卓越智软科技有限公司 面向引擎的应用软件开发方法
CN111190597A (zh) * 2019-12-27 2020-05-22 天津浪淘科技股份有限公司 一种数据ue可视化设计系统
CN111177185A (zh) * 2019-12-30 2020-05-19 北京同创永益科技发展有限公司 一种记录用户选择动态表格的方法和系统以及装置
CN112506946A (zh) * 2020-12-03 2021-03-16 平安科技(深圳)有限公司 业务数据查询方法、装置、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
VIACHESLAV ZOSIMOV等: "web data displaying approach based on users semantic profile template", 《2020 IEEE,15TH INTERNATIONAL CONFERENCE ONCOMPUTER SCIENCES AND INFORMATION TECHNOLOGIES(CSIT)》 *
洪敏等: "基于HTML的ECharts的动态数据显示前端设计", 《计算机时代》, no. 08, pages 27 - 28 *

Also Published As

Publication number Publication date
CN113360152B (zh) 2023-11-03

Similar Documents

Publication Publication Date Title
US7792814B2 (en) Apparatus and method for parsing unstructured data
US7165073B2 (en) Dynamic, hierarchical data exchange system
US7703009B2 (en) Extensible stylesheet designs using meta-tag information
US6282539B1 (en) Method and system for database publishing
US6993533B1 (en) Relational database drill-down convention and reporting tool
US8429519B2 (en) Presentation generator
US7386436B2 (en) Viewing system that supports multiple electronic document types
US20060004725A1 (en) Automatic generation of a search engine for a structured document
US20050183002A1 (en) Data and metadata linking form mechanism and method
US20050022115A1 (en) Visual and interactive wrapper generation, automated information extraction from web pages, and translation into xml
WO2002061622A9 (en) Technique for encapsulating a query definition
JP2008123547A (ja) 半構造化情報の照会および解釈を構造化する方法および装置
US20040019589A1 (en) Driver for mapping standard database queries and commands to markup language documents
Watt Beginning regular expressions
Leonard et al. Large scale acquisition and maintenance from the web without source access
EP1745390A2 (en) Data and metadata linking form mechanism and method
US20070094289A1 (en) Dynamic, hierarchical data exchange system
WO2001018630A2 (en) Xml dynamic content retrieval using style and content definition sheets
CN113360152A (zh) 一种参数化数据查询网页显示程序实现方法和系统
Vercoustre et al. A descriptive language for information object reuse through virtual documents
Calabretto et al. The philological workstation bambi (better access to manuscripts and browsing of images)
CN110807017A (zh) 基于Beautiful Soup解析技术的AWR报告解析方法
WO2002082326A2 (en) Extensible stylesheet designs using meta-tag information
JP2004118543A (ja) 構造化文書検索方法、検索支援方法、検索支援装置および検索支援プログラム
Meng et al. A supervised visual wrapper generator for web-data extraction

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant