CN1459713A - 用于访问数据库的计算机程序的产品、记录介质以及方法 - Google Patents

用于访问数据库的计算机程序的产品、记录介质以及方法 Download PDF

Info

Publication number
CN1459713A
CN1459713A CN03140761A CN03140761A CN1459713A CN 1459713 A CN1459713 A CN 1459713A CN 03140761 A CN03140761 A CN 03140761A CN 03140761 A CN03140761 A CN 03140761A CN 1459713 A CN1459713 A CN 1459713A
Authority
CN
China
Prior art keywords
mentioned
screen
database
data
screen assembly
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
CN03140761A
Other languages
English (en)
Other versions
CN100545803C (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.)
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Electric Industries 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 Sumitomo Electric Industries Ltd filed Critical Sumitomo Electric Industries Ltd
Publication of CN1459713A publication Critical patent/CN1459713A/zh
Application granted granted Critical
Publication of CN100545803C publication Critical patent/CN100545803C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2428Query predicate definition using graphical user interfaces, including menus and forms
    • 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation

Landscapes

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

Abstract

一种用于访问数据库的计算机程序产品,是一种允许计算机执行多个屏幕组件的访问数据库的程序产品,包括设计将由计算机执行的该多个屏幕组件的顺序的步骤(S21)。该多个屏幕组件的每一个组件都包括:依照从外部给定的每一个屏幕组件的定义,生成SQL语句中除“where”子句外的部分的步骤(S22、S28);生成用于输入和/或输出数据的屏幕的步骤(S24、S30);以及依照从外部给定的每一个屏幕组件的定义,生成SQL语句中“where”子句的步骤(S27)。由于该屏幕组件作为数据库访问程序的一部分,依照从外部给出的定义来处理这些步骤,故该屏幕组件可以由其它的数据库访问程序来使用。由此,获得了通用的多功能性,并且提高了开发效率。

Description

用于访问数据库的计算机程序的产品、记录介质以及方法
技术领域
本发明涉及用于访问数据库的计算机程序产品,其上记录有程序的计算机可读记录介质,以及数据库操作方法。本发明特别涉及易于应用于s适于营业(business operation)程序(process)的数据库访问程序产品,在其上记录该程序的计算机可读记录介质,以及数据库操作方法。
背景技术
通常,在使用计算机进行系统开发的过程中,缩减开发成本,缩短交付周期,和改进质量,这些都是重要的目的。为了实现这些目的,进行如下努力,如从以程序为中心的设计方法转变到以数据为中心的设计方法,采用RAD(快速应用程序开发)方法,和组件编程(component programming),并且已经获得的一些结果。
例如,通过采用以数据为中心的设计方法,生产能力获得了很大程度的改进。依照RAD方法,通过依照用户需求构建原型,同时以原型制作的结果为基础而更明确地反映用户的需求,进而改进该原型,可以缩短开发周期。由此,在采用该RAD方法的系统中,大体上可以实现缩短外部设计和详细设计的周期,和成本的降低。由此,程序生成阶段在整个系统开发中所占的比例相对变大了。
最近,使用企业内部互联网作为公司骨干系统的开发平台的情况的数量在增长。在联网的公司,通过使用应用程序服务器来构造骨干系统是十分有效的。在应用程序服务器的系统开发中,通常使用作为HTML(HyperTextMarkup Language)(超文本链接标示语言)的扩展的标签语言。该标签语言易于学习并且被评价为具有高生产力的企业内部互联网开发工具。
然而,随着公司环境变得更加复杂,对系统开发的要求也变得更高。具体地说,由于公司的商业周期正在变短,这就要求交付周期进一步的缩短。公司可以以较低的成本提供产品,这是十分有利的。
由于程序生成阶段在系统开发中的比例相对较大,因此在该阶段改进生产力是十分重要的。推动组件编程似乎是最有效的。
组件编程减少了系统开发所必须的过程数量,并且从缩减系统开发所必须的周期以及缩减系统开发成本的观点来看,其有助于增强系统开发的竞争力。仅通过使用十分可靠的程序作为组件,组件编程可以有助于改进系统的质量。因此,有效地执行组件编程以及通过有效结合由组件编程准备的组件来构建应用程序是十分重要的。
然而,用于企业内部互联网系统开发的标签语言的组件编程的功能通常是很弱的。因此,在使用传统的标签语言时,显然就不能期望生产力有大的改进。
图18是一个结构图,示出了使用数据库(DB)的企业内部互联网的通用系统的配置。参考图18,通用企业内部互联网600包括应用程序服务器612,数据库服务器614,以及多个客户PC616,该多个客户PC616可以经由网络610,通过使用被称为HTTP(Hyper Text Transfer Protocol)(超文本传输协议)的协议进行互相通讯。
在客户PC616上,运行有通用浏览器630。
在数据库服务器614上,运行有RDBMS(Relational DataBase ManagementSystem)(关系型数据库管理系统)622。
在应用程序服务器612上,运行有WWW服务器618。“WWW”是“World WideWeb”的缩写。WWW服务器618实际是Java(R)小服务程序引擎(servletengine)620。Java(R)小服务程序引擎620,依照经由网络610从客户PC616的浏览器630给出的需求,将用于形成屏幕的信息(HTML源)提供给浏览器630,该屏幕信息用于访问RDBMS 622。浏览器630显示该屏幕,并且将由用户输入的信息返回给Java(R)小服务程序引擎620。Java(R)小服务程序引擎620依照给定的信息访问RDBMS 622,并且将用于显示结果的该HTML源返回到浏览器630。浏览器630显示该结果,从而响应用户需求。
以这种方式,企业内部互联网600通过WWW服务器618处理来自多个客户PC616的需求,该WWW服务器618在应用程序服务器612上运行,并且将结果返回到每一个客户的浏览器上,从而使用RDBMS 622执行商业活动(business process)。
在开发适合许多商业活动的程序的情况下,屏幕不得不一个接一个的生成以便在浏览器上显示。假如这样的话,通过复制已生成的商业程序中的必要部分,并通过只修改不同的部分,可以生成另一个商业程序。然而,如果在原始商业程序中发现有程序错误,那么为了消除该程序错误而不得不被检验所有已生成的商业程序。
为了避免这个问题,商业程序的通用组件作为模块被使用,并且被当作所谓的子程序来调用。在将通用组件作为模块使用的情况下,仅仅纠正包括该程序错误的模块就足够了,而不必纠正使用模块的高级商业程序(higher-order)。
然而,程序通常以用于访问RDBMS 622的一系列过程为基础单元,被设计成模块,这些过程诸如:用于显示屏幕的过程,该屏幕通常用于输入访问的条件,以输入的条件为基础访问RDBMS 622的过程,以及显示作为此次访问结果所获得的数据的过程。当一系列过程作为模块设计时,模块的用途将受这一系列过程的限制,且出现诸如不能获得一般通用性的问题。
虽然也可以将一系列的过程分成多个部分,且这些部分分别被模块化以提供一般通用性,但是生成模块的数量增加了,并且这引起了诸如使生成商业程序的效率下降的问题。
发明内容
本发明已实现了解决上述问题的目的,本发明的目的在于提供一种通过组合通用模块来生成的数据库访问程序产品。
本发明的另一目的是提供一个具有更高效的开发效率的数据库访问程序产品。
本发明的另一目的在于提供一种易于应付变化的数据库访问程序产品。
本发明的又一目的在于提供一种易于操作数据库的数据库操作方法。
为实现上述目的,根据本发明的一个方面,通过允许计算机执行多个屏幕组件来访问数据库的数据库访问程序产品,包括指定将由计算机执行的多个屏幕组件的顺序的步骤。多个屏幕组件中的每一个组件都包括如下步骤:除第一部分外,依照从外部给出的每一个屏幕组件的定义来生成第二部分,该第二部分用来指定在访问数据库的命令中将被处理的数据;生成用于输入和/或输出数据的屏幕;以及依照从外部给出的每一个屏幕组件的定义来生成第一部分,该部分用来指定在访问数据库的命令中将被处理的数据。
依照本发明,指定了将由计算机执行的多个屏幕组件的顺序。多个屏幕组件的每一个组件都依照指定的顺序来执行,包括以下步骤:除第一部分外,依照从外部给出的每一个屏幕组件的定义来生成第二部分,第二部分用来指定访问数据库的命令中将要被处理的数据;生成用于输入和/或输出数据的屏幕;以及依照从外部给出的用于每一个屏幕组件的定义来生成第一部分,该部分用来指定在访问数据库的命令中将要被处理的数据。由于这些步骤依照从外部给出的定义进行处理,故屏幕组件作为数据库访问程序的一部分,可以被其它数据库访问程序使用。由此,可以通过通用屏幕组件获得数据库访问程序产品,并且提供了用来存储上述程序的计算机可读记录介质。由于数据库访问程序可以通过组合通用屏幕组件来生成,故可以提高数据库访问程序的开发效率。
屏幕生成步骤,更适宜地依照从外部给出的每一个屏幕组件的数据库项目,来生成屏幕。因此,不必提供屏幕组件中的数据库项目,以便于进一步增加了该屏幕组件的多功能性。
该程序产品更适宜地进一步包括,用于指定将要执行的这些步骤的顺序的步骤,这些步骤包含于该多个屏幕组件的每一个组件中,以便于这些步骤在该多个屏幕组件的所有组件中都以相同的顺序执行。
依照本发明,由于包含在多个屏幕组件中的每一个组件的这些步骤,被指定成在该多个屏幕组件中的任何组件中都以相同的顺序来执行,因此不必考虑这些包含于屏幕组件中的步骤的执行顺序。因此,可以缩减用于开发数据库访问程序的过程的数量。
多个屏幕组件的每一个组件更适宜进一步包括检查所获得的数据的步骤,其依照从外部给出的每一个屏幕组件的数据库项目。
依照本发明,该多个屏幕组件的每一个组件,依照从外部给出的用于每一个屏幕组件的数据库项目,检查所获得的数据。由于需要进行检查的该数据库项目是从外部给出的,故不必在屏幕组件中提供该数据库项目。由此,该屏幕组件易于应用到其它数据库访问程序中。
更适宜地,在生成第一部分的步骤中,生成当下一个屏幕组件由计算机实现时所执行的命令中的第一部分。
依照本发明,在生成第一部分的步骤中,生成当下一个屏幕组件由计算机实现时所执行的命令中的第一部分。其中,用于生成由计算机其次执行的指令中的第一部分的数据,经由生成的屏幕输入,当该屏幕改变时,生成第一部分的步骤也不得不改变。由于涉及该屏幕中的变化而改变的其它部分,包含于单一的屏幕组件中,故为一个变化而仅仅改变一个屏幕组件就足够了。由此,可以提高该数据库访问程序产品易于应付变化的能力。
在生成第一部分的步骤中,该命令中的第一部分更适宜以于检查步骤中检查过的数据为基础来生成。
依照本发明,在生成第一部分的步骤中,命令中的第一部分是以于检查步骤中检查过的数据为基础来生成的。当要被检查的数据改变时,生成第一部分的步骤也不得不改变。由于涉及将被检查的数据的变化而进行改变的其它部分,被包含于单一的屏幕组件中,故为响应一个变化而仅仅改变一个屏幕组件就足够了。由此,可以提高该数据库访问程序产品易于应付变化的能力。
生成第二部分的步骤更适宜包括那些不生成第二部分的过程。
依照本发明,甚至在不必访问数据库的情况下,用于生成访问数据库命令中的第二部分,也依然包含于该屏幕组件中。因此,相同的过程可以由所有的屏幕组件来定义。
该检查步骤更适宜包括那些不检查任何数据的过程。
依照本发明,甚至在不必检查数据的情况下,该检查步骤也依然包含于屏幕组件中。因此,相同的过程可以由所有的屏幕组件来定义。
生成第一部分的步骤更适宜包括那些不生成第一部分的过程。
依照本发明,甚至在不存在将要其次执行的屏幕组件的情况下,生成该命令中第一部分的过程也依然包含于该屏幕组件中。由此,相同的过程可以由所有的屏幕组件来定义。
依照本发明的另一个方面,通过允许计算机执行多个屏幕组件的数据库操作方法,包括指定将由计算机执行的该多个屏幕组件的顺序的步骤。该多个屏幕组件的每一个组件都包括以下步骤:除第一部分外,依照从外部给出的每一个屏幕组件的定义来生成第二部分,第二部分用来指定访问数据库的命令中将被执行的数据;生成用于输入和/或输出数据的屏幕;以及依照从外部给出的每一个屏幕组件的定义来生成第一部分,该部分指定访问数据库的命令中将要执行的数据。
依照本发明,由于这些步骤依照从外部给出的定义来进行处理,故该屏幕组件作为该数据库访问程序的一部分,可以由其它数据库访问程序来使用。因此,仅仅通过指定该多个屏幕组件的执行顺序,就可以操作数据库。由此,可以提供给该数据库操作方法易于进行数据库操作的能力。
本发明的前述以及其它的目的、特性、方面以及有益效果,将在以下通过结合附图对本发明进行详细的描述时,变得更加清楚。
附图说明
图1是本发明一个实施例中的服务器的外视图;
图2是示出了根据本发明的服务器配置情况的结构图;
图3是用于说明在该实施例中于服务器里执行数据库访问程序的概念的图;
图4是示出了在实施例中,当程序模式由服务器执行时,各处理过程执行的流程的流程图;
图5A和5B是示出了由涉及上述过程的程序模式来定义的各处理过程的例子的图;
图6是示出了在图4步骤S14中,屏幕组件调用执行的过程的流程的流程图;
图7A和7B是示出了当该程序模式被执行时,被输出的屏幕的例子的图;
图8是示出了使用三个屏幕组件的程序模式的具体例子的图;
图9A、9B和9C是示出了通过调用屏幕组件来显示这些屏幕的例子的图;
图10是用于说明项目对象(item objects)概念的示意图;
图11是从数据库定义信息中提取项目对象的工具的结构图;
图12是示出数据库定义文件的例子的图;
图13是示出了项目对象的数据定义文件的例子的图;
图14是用于从该数据库定义文件生成项目对象的数据定义文件的过程的流程图;
图15是示出了当屏幕组件使用项目对象,按照本发明的实施例进行操作时,项目对象和屏幕组件之间关系的图;
图16是示出了编写主程序代码的例子的一部分的图;
图17是用于实现窗体组件的处理的流程图;
图18是示出了由常规的企业内部互联网构建的系统配置例子的图。
具体实施方式
在下文中,本发明的实施例将参考附图来说明。在随后的说明中,相同的组件利用相同的标号来标识,并且其名称和功能都相同。因此,将不再重复提供它们的详细说明。
图1是本发明实施例中服务器的外视图。如下所述,服务器10由通用个人计算机来构成。
参考图1,服务器10包括计算机100,计算机上有CD-ROM(Compact DiscRead-Only Memory)驱动器110以及FD(F1exible Disk软盘)驱动器112,该服务器还包括显示器102,打印机104,键盘106以及鼠标108。
图2是示出了服务器10的配置的结构图。如图2所示,服务器10除包括CD-ROM驱动器110以及FD驱动器112以外,还包括CPU(CentralProcessing Unit)(中央处理单元)116,ROM(Read Only Memory)(只读存储器)118,其存储有操作系统等等的引导装入程序,RAM(Random AccessMemory)(随机存取存储器)120,用于装载将要执行的程序并存储正在执行的程序数据,还包括以非易失性方式来存储已生成的程序等的硬盘114,以及用于连接计算机100与网络132的网络接口130。这些组件被连接到总线126上。CD-ROM 122被插入到CD-ROM驱动器110中。FD 124被插入到FD驱动器112中。
如上所述,在该服务器中,数据库记录在硬盘114中,并且由CPU 116执行数据库访问程序,从而运行该数据库。通常,这样的数据库访问程序存储于诸如CD-ROM 122或FD 124这样的记录介质上,以被存储的形式分布,从CD-ROM驱动器110、FD驱动器112等来读取该程序,并临时存储在硬盘114上。此外,该数据库访问程序从硬盘114读到RAM 120上并由CPU 116来执行。如图1和图2所示服务器10的硬件本身,是通用硬件。因此,本发明最重要的部分是存储于诸如CD-ROM 112、FD 124或硬盘114这样的记录介质上的数据库访问程序。
记录介质并不仅限于CD-ROM 122、FD 124以及硬盘114。可以固定地装载程序的媒体都可以利用,诸如磁带、盒式磁带、光盘(MO(Magnetic OpticalDisc)磁光盘),MD(Mini Disc)或DVD(Dital Versatile Disc)、IC卡(包括记忆卡)、光卡(optical card),以及诸如掩模ROM、EPROM、EEPROM的半导体存储器等等。
程序是这样一个概念,其不仅包括由CPU 116直接执行的程序,还应该包括源程序格式的程序,压缩后程序,加密后程序等等。
由于图1和图2所示的计算机的操作是众所周知的,故而在此不再重复地给予详细说明。
图3是用于说明在该实施例中,由服务器10来执行数据库访问程序这一概念的图表。参考图3,服务器10包括:用于处理来自运行于客户PC上的浏览器253等的需求的程序模式310;作为屏幕组件的第一屏幕320以及第二屏幕322,当程序模式310执行时,该屏幕组件被调用;程序定义文件312,其由已调用屏幕组件320和322来引用(refer);以及数据库314。
程序定义文件312是记录定义程序所必须的信息的文件,并且其使用例如XML(eXtensible Markup Language)或CSV(Comma Separated Values)来描述。程序定义文件312的细节将在后面说明。
数据库314是关系型数据库,包括用于定义数据库结构的定义文件,并且其被记录于诸如硬盘114等的存储器单元上。虽然在此实施例中,利用关系型数据库作为例子来说明,但是数据库的类型并不仅限于此,其还可以是其它类型的数据库。
程序模式310,程序定义文件312以及屏幕组件320和322被初步生成,并记录在服务器10中的诸如硬盘114这样的存储器单元上。数据库访问程序由程序模式310、程序定义文件312以及屏幕组件320和322来构造。将多个程序模式310以及多个屏幕组件320和322以通用形式来配置。只有通过依照将要处理的商业活动来形成程序定义文件312,该数据库访问程序才可以根据该事物被生成。这将会进行更清楚的说明。
程序模式310是用来说明访问数据库314的过程的程序。访问数据库314的过程,是在数据库314中注册(register)的数据上完成处理的过程,并且其可以被分类成,例如,引用(refer)已注册数据的引用过程,重新注册数据到数据库314中的注册过程,更新已注册的数据的更新过程,以及删除已注册的数据的删除过程的四个过程。
可以结合在数据库314中定义的多个表所涉及的数据来说明该引用过程、注册过程、更新过程或删除过程。如上所述,通过使访问数据库314的处理过程标准化来说明该程序模式。
用于执行该引用过程的程序模式将作为例子描述。在该引用过程中,(1)输入数据的过程作为引用数据的关键字的服务,(2)从数据库提取对应于该关键字数据的数据,和显示已提取的数据列表的过程,以及(3)显示在数据列表中被定义的特定数据的详细数据的过程。用于执行该引用过程的程序模式被定义,以便使这些过程将以此顺序来执行。
每一个过程都需要一个屏幕来输入数据或输出数据。屏幕组件定义用于显示该屏幕的过程,并且上文已经更清楚地说明了涉及该屏幕的处理。
在该程序模式中,只有通过对所使用的屏幕组件的指定的定义和调用已指定的屏幕组件的顺序,才可以定义数据库314的一系列的引用过程、注册过程、更新过程以及删除过程。
屏幕组件320和322定义由该程序模式读取的多个过程。多个被定义的过程是(1)生成部分(第二部分)的过程,该部分是除了在用于访问数据库的指令中用于指定将要处理的数据的部分之外的部分,(2)生成屏幕的过程,(3)用于检测数据的过程,以及(4)生成部分(第一部分)的过程,该部分用于在访问数据库的指令中指定将要处理的数据。
接下来,用于在访问数据库的指令中指定要处理的数据的部分,被称为第一部分,并且除了第一部分之外的部分称为第二部分。
更具体地说,(1)生成访问数据库的命令中第二部分的过程,是生成除了SQL(Structured Query Language)语句中“where”子句的部分的过程。访问数据库的命令中的第二部分,由程序定义文件312来定义,该程序定义文件312将在后面说明。
在生成第二部分的过程中,可以定义不生成任何部分的过程。假如这样,即使生成第二部分的过程从程序模式310中调用,则除了该SQL语句中的“where”子句的部分,不生成其它部分。例如,在引用过程中,在显示输入关键字数据的屏幕的屏幕组件中,作为生成第二部分的过程,可被定义为不生成任何部分的过程。
在(2)生成屏幕的过程中,例如,当执行该SQL语句时,生成包括作为结果而获得的数据的屏幕。当该SQL语句未执行时,生成输入数据的屏幕。在屏幕的产生过程中,用于指定将包含于该屏幕上的数据的数据库项目,以及用于指定将被输入的数据的数据库项目,都由程序定义文件312来定义。
在(3)检测数据的过程中,检测经由已生成的屏幕获得的数据。由程序定义文件312来定义用于指定将要被检测的数据的数据库项目。在检测数据的过程中,如果该检测是不必要的,则可以定义该过程不检测任何数据。假如这样,即使该检测数据过程从程序模式中调用,则也不检测任何数据。
在(4)生成访问数据库314的指令的第一部分的过程中,生成SQL语句中的“where”子句。当存在已检测的数据时,“where”子句依照程序定义文件312的定义,并以上述已检测数据为基础来生成。作为生成第一部分的过程,可以被定义成不生成任何数据的过程。不生成任何数据的过程,在不存在下一步将要执行的SQL语句的这种情况下,例如,在不存在下一步将要执行的屏幕组件的情况下被定义。假如这样,即使生成第一部分的过程从程序模式310中调用,则也不生成SQL语句中的“where”子句。
如上所述,每一个屏幕组件320和322都以组(set)来定义访问数据库的命令中的第二部分的生成,定义将要输出的屏幕的生成,定义涉及已输出屏幕所获得的数据的检查,以及定义访问数据库命令中的第一部分的生成。也就是说,每一个屏幕组件320和322,都以涉及将要输出屏幕的组来定义四个过程。
因此,当该输出屏幕出现变化时,检测经由该屏幕所输入的数据的过程,和在以被检测数据为基础所生成的该命令的第一部分的过程,都不得不被纠正。然而,由于这些过程在单一的屏幕组件中定义,因此容易进行维护。
将更具体的说明用于指定设计SQL语句中将要处理的数据的部分(第一部分),以及其它部分(第二部分)。
<引用>
以下将示出使用SQL语句来引用数据的例子。
SELECT userid,username,pronunciation
FROM emp
WHERE user id=’sumitomol’
在该SQL语句中,第3行对应于第一部分,并且第一和第二行对应于第二部分。第一和第二行由程序定义文件312来定义。因此,生成第二部分的过程是读取程序定义文件312的定义的过程。第3行对应于第一部分,且以由程序定义文件312定义的数据库的字段“userid”,和已输入的数据“sumitomol”为基础来生成。
<注册>
以下将说明使用SQL语句来注册数据的例子。
INSERT INTO emp  (userid,username,pronunciation)
VALUES(‘sumitomol’,’TARO SUMITOMO’,’taro sumitomo’)
该SQL语句不包括第一部分。既然这样,因此不生成第一部分。第一以及第二行对应于第二部分,并且以由程序定义文件312定义的数据库的表“emp”和字段“userid”、“username”和“pronunciation”,以及所输入的数据“sumitomol”、“TARO SUMITOMO”、“taro sumitomo”为基础来生成的。
<更新>
以下将示出使用SQL语句来更新数据的例子。
UPDATE emp SET username=’TARO SUMITOMO’,pronuncation=’tarosumitomo’
WHERE userid=’sumitomol’
在该SQL语句中,第二行对应于第一部分,且第一行对应于第二部分。第一行所对应的第二部分以由程序定义文件312定义的数据库的表“emp”以及字段“username”、“pronuncation”,以及所输入的数据“TARO SUMITOMO”、“taro sumitomo”为基础来生成。第二行所对应的第一部分以由程序定义文件312定义的数据库的字段“userid”,以及所输入的数据“sumitomol”为基础生成。
<删除>
以下将示出在删除数据的时候使用SQL语句的例子。
DELETE FROM emp
WHERE userid=’sumitomol’
在该SQL语句中,第二行对应于第一部分,且第一行对应于第二部分。第一行所对应的第二部分由程序定义文件312来定义。因此,生成第二部分的过程以由程序定义文件312定义的数据库的表“emp”为基础来生成。第二行所对应的第一部分以由程序定义文件312定义的数据库的字段“userid”,和已输入的数据“sumitomol”为基础来生成。
程序定义文件312是当由屏幕组件320或322定义的过程被执行时所引用的文件。在程序定义文件312中,定义如下内容:例如,访问数据库314的命令(SQL语句)中使用的数据库项目,显示于已生成的屏幕上的数据库项目,用于检查数据的数据库项目,以及用于生成“where”子句的数据库项目。
如上所述,用于操作数据库314的功能(引用、注册、更新、删除等等)的逻辑部分,通过程序模式310来定义。因此,屏幕组件也可以由完成其它功能的程序模式使用,以便于屏幕组件可以有效的重复使用。
由于上述四个过程都在该屏幕组件中定义,故在生成程序模式的时候,以预定的顺序来调用该屏幕组件所有的四个过程就足够了。因此,不必考虑这些过程是否依照屏幕组件被调用,且不必考虑调用这些过程的顺序。由此,当生成程序模式310的时候,可以使调用该屏幕组件的方法标准化,并且可以提高生成程序模式的效率。
此外,在通过使用程序模式310来生成用于操作数据库314的商业程序的情况下,依照程序模式310,将于数据库314中定义的项目定义到程序定义文件312中就足够了。因此,这提高了开发商业程序的效率。
此外,由于在屏幕组件320和322中定义的过程所需要的关于数据库314的信息,在程序定义文件312中定义,故屏幕组件320和322可不依赖于数据库314的结构。因此,可以在不考虑数据库314结构的情况下,于屏幕组件320和322内定义这些过程。
虽然在此实施例中,四个过程在屏幕组件320和322的每一个组件中都被定义,例如,除了该数据检查过程(3)之外的3个过程都可以在屏幕组件中定义。假如这样的话,这3个过程将在其它所有的屏幕组件中的每个组件中定义。
图4示出了在此实施例中,当程序模式由服务器执行时,所执行过程的流程的流程图。参考图4,程序模式310接收页面转换信号,该信号要求从浏览器253(步骤S11)中显示。该页面转换信号指示所要显示的网页的页数。程序模式310接收该页面转换信号,显示该页面转换信号(步骤S12)相应的标题,显示菜单(步骤S13),调用屏幕组件(步骤S14),并且显示页脚(步骤S15)。在这种情况下,网页以HTML生成并传送到浏览器253。
每次接收来自浏览器的页面转换信号的时候,程序模式310执行如图4所示的处理过程。图4所示的处理过程是与每一个页面转换信号相一致所确定的过程,并且依照该页面转换信号而改变。因此,依照该页面转换信号可以改变将要显示的标题,将要显示的菜单,将要调用的屏幕组件,以及将要显示的页脚。
为了更具体的说明在步骤S14中执行的该屏幕组件调用过程,将描述该引用过程的程序模式的例子。图5A和5B分别地示出了第一和第二屏幕320和322,第一和第二屏幕作为在此使用的屏幕组件。图5A示出了于第一屏幕320中定义的处理过程,而图5B示出了于第二屏幕322中示出的处理过程。
参考图5A,在第一屏幕320中,(1)将不生成任何部分的过程定义为生成访问数据库的命令(SQL语句)中的第二部分的过程。(2)将生成检索关键字的输入屏幕的过程定义为生成屏幕的过程。该检索关键字于程序定义文件312中定义。(3)作为数据检查过程,该过程检测作为检索关键字输入的数值型或字符型的数据的样式是否与数据库314的定义匹配。(4)将利用输入的检索关键字来操作该数据库从而生成“where”子句的过程定义为生成访问数据库的命令(SQL语句)中的第一部分的过程。
参考图5B,在第二屏幕322中,(1)将以程序定义文件为基础来生成第二部分的过程定义为生成访问该数据库的命令(SQL语句)中的第二部分的过程。(2)将用于显示通过执行SQL语句而获得的数据的屏幕的过程定义为屏幕生成过程。将要显示的项目于程序定义文件312中定义。(3)将不检测任何数据的过程定义为数据检查过程。(4)将不生成任何部分的过程定义为生成访问该数据库的命令(SQL语句)中的第一部分的过程。
图6示出了于图4步骤S14中执行的该屏幕组件调用过程的流程的流程图。以下将说明如图5A和5B中所示的第一和第二屏幕320和322被调用的情况。在这种情况下,第一屏幕320是对应于第一页面的屏幕组件,而第二屏幕322是对应于第二页面的屏幕组件。
参考图6,在屏幕组件调用过程中,确定该页面转换信号是否是需求显示第一页面的信号(步骤S21)。如果“是”,则程序前进到步骤S22。如果“否”,则程序前进到步骤S26。在这种情况下,第一页面就对应于“first page(第一页面)”。
在步骤S22中,给出了执行生成SQL语句中第二部分的过程的指令,且该过程由对应于第一页面的屏幕组件定义。生成SQL语句中第二部分的过程在此执行,该过程由对应于第一页面的第一屏幕320定义。由于在第一屏幕320中规定,将生成SQL语句第二部分的过程,定义为不生成任何部分的过程,故其在此不生成任何部分。
在步骤S23中,执行存储在由屏幕组件320和322共享的存储器中的公共区域的该SQL语句。由于该SQL语句的第二部分没有在步骤S22中生成,故该SQL语句没有写入存储器的公共区域,并且没有执行。因此,没有访问数据库314。
在此之后,给出了用于执行屏幕生成过程的指令(步骤S24),该过程在对应于第一页面的屏幕组件中定义。在这种情况下,生成于第一屏幕320中定义的检索关键字输入屏幕。生成的检索关键字输入屏幕254被输出到浏览器253(步骤S25)。在程序模式中,生成对应于第一页面并以HTML描述的屏幕(网页),且其被传送到浏览器253上。在此之后,过程结束,且程序返回到该程序模式的步骤S15。
如上所述,在第一屏幕320中定义的生成SQL语句中第二部分的过程,以及屏幕生成过程被按顺序指定。由于在第一屏幕320中定义了不执行任何内容的SQL语句,故在该屏幕组件调用过程中,只调用生成该SQL语句的第二部分的过程就足够了,而不必考虑该SQL语句的第二部分是否已经生成。因此,可以使该屏幕组件调用过程标准化,并且可以被有效的生成。
图7A和7B的每一个图都示出了当执行该程序模式时,所输出的屏幕的例子。图7A示出了于第一屏幕320中定义的检索关键字输入屏幕的图。显示了包括输入了作为检索关键字的段(section)ID的项目的屏幕。
再次参考图6,当在步骤S21中确定该页面转换信号不指向第一页面时,给出由对应于当前页面的屏幕组件所定义的执行错误检测过程的指令(步骤S26)。该当前页面表示当前在浏览器253上显示的页面。
例如,当有第二页面作为页面转换信号被接收时,则该当前页面就是第一页面,而下一个页面就是第二页面。现举例说明将第二页面作为页面转换信号来接收的情况。给出了执行错误检测过程的指令,该错误检测过程在对应于当前页面、也就是第一页面的第一屏幕320中定义。当该过程执行时,在对应于第一页面的第一屏幕320中定义的屏幕(图7A),就在此时显示于浏览器253上。
因此,作为关键字数据,段ID经由图7A所示的屏幕被键入。同从浏览器253输入的该段ID一起,该页面转换信号(第二页面)也被接收。就该段ID而论,作为已收到的关键字数据,无论该数值、字符等等的类型是否正确,都要进行检查。当该段ID的数值或字符的类型不正确时,则生成包括用于再次登录段ID的消息框的屏幕,并且将其传送到浏览器253。
以被检查过的关键字数据为基础,给出用于执行生成SQL语句第一部分(“where”子句)的过程的指令(步骤S27),该过程在对应于该当前页面(第一页面)的第一屏幕320中定义。在这种情况下,以被检查的数据为基础,生成该SQL语句中的“where”子句。所生成的该“where”子句存储在RAM 120中的由屏幕组件320和322共享的区域中。
在随后的步骤S28中,给出用于执行生成该SQL语句中第二部分的过程的指令,该过程由对应于下一个页面的屏幕组件来定义。在这种情况下,执行生成SQL语句中的第二部分的过程,该过程在对应于第二页面的第二屏幕322中定义。由第二屏幕322定义的,生成该SQL语句的第二部分的过程,依照该程序定义文件312的定义而产生。生成该SQL语句中的第二部分(“select”语句),其用于提取与所输入的段ID相匹配的数据。所生成的第二部分,存储在RAM 120中由屏幕组件320和322共享的区域上。通过于步骤S27中生成的该SQL语句的第一部分(“where”子句)以及通过于步骤S28中生成的该SQL语句的第二部分(“select”语句),来完成该SQL语句,并且将其存储在RAM 120中由屏幕组件320和322共享的区域上。
在此之后,执行存储在RAM 120中由屏幕组件320和322共享的区域上的该SQL语句(步骤29)。
为了输出作为执行结果而获得的数据,给出了用于执行屏幕生成过程的指令(步骤S30),该过程由对应于下一个页面(第二页面)的屏幕组件(第二屏幕组件322)来定义。已生成的屏幕256输出到浏览器253(步骤S31)上。在此之后,过程结束,并且该程序返回到程序模式的步骤S15。
图7B示出了由第二屏幕组件322生成的屏幕的例子,且示出了与如图7A所示的屏幕上登录的段ID所对应的一列段名。
如上所述,在屏幕组件调用过程中,于该屏幕组件中定义的过程,依照页面转换信号并以预定的顺序来执行。因此,可以使该屏幕组件调用过程标准化,并且可以有效生成该程序模式。
不生成SQL语句的第一部分和第二部分的过程,可以同样作为在该屏幕组件中定义的过程来定义,并且还可以定义不检测任何数据的错误检测过程。通过定义如上所述的伪程序过程,可以为所有屏幕组件的每一个组件都定义这四个过程。由此,该程序模式可以调用每个屏幕组件中定义的所有的过程,以便于该程序模式可以有效地生成。
虽然在此实施例中,执行该SQL语句的过程(步骤S23和S29)被包含于该屏幕组件调用过程中,但是这些过程可以分别地包含于屏幕组件320和322中。假如是这样的话,则在这种情况下来定义:在生成该屏幕组件中用于访问数据库的命令第二部分的过程中,生成第二部分,并且在此之后,完成执行该SQL语句的过程的操作。类似地,虽然输出屏幕的过程(步骤S25和S31)被包含于该屏幕组件调用过程中,但是这些过程可以分别地包含于屏幕组件320和322中。假如这样的话,则在这种情况下来定义:在该屏幕组件中的屏幕生成过程中,生成屏幕,并且在此之后,执行输出已生成屏幕的过程。
图8示出了程序模式的部分的具体例子的图,该程序模式定义了所使用的三个屏幕组件。参考图8,定义了用于显示检索屏幕的屏幕组件“PtnScrSearch”,定义了用于以在该检索屏幕上输入的关键字数据为基础,取回相应的数据以及用于显示该数据的列表的屏幕组件“PtnScrList”,还定义了用于显示在上述列表中所显示出的数据片的详细数据的屏幕组件“PtnScrDetail”。该程序模式使用面向对象的语言,并且不仅包括用于定义所使用的屏幕组件的部分,还包括以预定顺序调用包含于该屏幕组件中的上述四个过程的部分。该程序模式可以与其它程序模式共享该以预定顺序调用包含于该屏幕组件中的四个过程的部分。因此,在该程序模式生成过程中,仅定义将要使用的该屏幕组件就足够了。
图9A到9C示出了当屏幕组件被调用时所显示的屏幕的例子的图。图9A示出了当屏幕组件“PtnScrSearch”被调用时,所显示的第十页面的屏幕的例子。该图示出了包含有用于登录用户ID的框的屏幕。
当接收到第十页面的页面转换信号时,调用该屏幕组件“PtnScrSearch”以执行该SQL语句,并且输出如图9A所示的第十页面的屏幕。当接收到第十一页面的页面转换信号时,执行检查所输入的用户ID的过程以及执行生成第十一页面的“where”子句的过程。
当接收到第十一页面的页面转换信号时,该屏幕组件“PtnScrList”执行该SQL语句并且输出如图9B所示的第十一页面的屏幕。在如图9A所示的屏幕上输入“s*”这种情况作为例子在此示出。参考图9B,其显示出了每个都以“s”作为第一个字符的多个用户ID的数据列表。当接收到第十二页面的页面转换信号时,执行用于检查在第十一页面上输出的任何用户ID的过程,以及执行用于生成第十二页面中的“where”子句的过程。作为检查用户ID的过程,由于以下原因而设置成不执行任何检查的过程。由于所显示的用户ID是从数据库中取出并显示的,因此不必检查其用户ID。
当接收到第十二页面的页面转换信号时,该屏幕组件“PtnScrDetail”执行该SQL语句,并输出如图9C所示的第十二页面的屏幕。参考图9C,其显示出了与图9B中所显示的数据中、该用户ID“sumitomol”相对应的详细数据。
将不执行任何检查的过程定义为该屏幕组件“PtnScrDetail”的检查过程和生成SQL语句的第一部分(“where”子句)的过程中的每一个。
如上所述,在程序模式的屏幕组件调用过程中,将要被调用的屏幕组件可以依照页面转换信号而改变,以便于可以为每一个页面转换信号定义屏幕组件。
由于屏幕组件是为每一个所显示的屏幕而定义的,因此对于每一个屏幕来说,调用该屏幕组件就足够了,并且这可以易于完成屏幕的转换。
此外,由于屏幕组件是为每一个屏幕而定义的,因而两个屏幕可以很容易的进行组合,并且这可以通过组合这两个屏幕来获得而不必重新生成屏幕。例如,仅仅通过生成关于显示设计数据的屏幕的屏幕组件,以及生成关于显示涉及该具体数据的详细数据的屏幕的屏幕组件,可以通过相继调用而使这两个屏幕组件而进行组合。
现在将要说明在此例中,当程序模式在服务器10中执行时,用于生成屏幕的项目对象。由本申请的申请人所申请的,申请号为No.2001-325098的日本专利对该项目对象进行了详细的说明。申请号为No.2001-325098的日本专利中所记载的内容在此一并作为参考。
[项目对象]
参考图10,项目对象150是与数据库项目一致而设置的对象。项目对象150A作为项目对象的例子,其以取数据操作的顺序(in an order receivingwork)对应于“order number”数据项。项目对象150A在程序开发过程中的对象类里。当程序执行时,生成项目对象150A的实例,并用于执行该程序。
如图10所示,由于项目对象150A在该对象类中,除项目名称(例如,“OrderNum”)作为属性之外,还提供了项目名(日文名、英文名、其它语言的名称等等),当数据项被表示成摘要,提供了将要准备的诸如数据长度、数据类型(数值型、字符串型等等)、输入窗体(文本框、单选按钮、检查框、下拉列表、下拉菜单、组合框、滑尺),相应的数据库列名的常规属性;以及提供了形成无论所输入的数据正确与否(例如,当数据类型是数值型时,无论所输入的数据是数值型或不是数值型,也不论数字的位数在数据长度范围中或不在数据长度范围中等等)而进行检查的方法的程序代码。
表1示出了上述项目对象的属性、方法等等。
表1
    项目名称     用于编码的数据名。通常使用数据库的列名。
    项目名     项目的日文名和英文名。用于屏幕显示。
    对应的数据库列名     对应的数据库列名。
    数据类型     字符型、数值型、数据型等等。
    输入数据的长度     数据的最大长度。
    输入窗体     文本框、选择框、单选按钮等等。
    可以输入的值     当选择输入时所显示的一列值。
    帮助消息     当输入时所显示的项目说明。
    错误检测     错误检测逻辑的执行。
    必要项目检查     无论所输入的项目是否是必要项目而进行检查。
    其它     用于执行每个项目特殊过程等的筛选程序。
在表1中,“项目名称”在程序编码期间用来引用数据项的名称。通常,在数据库中使用对应于该项目对象的列名,且仅由字母表和部分符号构成。
由于在表1中显示的其它要素的意义对本领域技术人员来说是显而易见的,故在此将不作出更详细的说明。
[从数据库定义中提取项目对象定义]
在此实施例的程序开发系统中,项目对象以源程序的形式并以文本格式来准备,该源程序是Java(R)语言的类定义的源程序。由于该项目对象已经与数据库紧密关联,因此使得直接从数据库执行对该项目对象的数据定义更加方便。
图11示出了在这种情况下的程序开发系统的结构示意图。显然,该系统在实际中可以通过如图1和图2所示的普通个人计算机来实现。
参考图11,该系统由数据库生成工具162构成,该生成工具162用于执行如下过程:从以文本格式准备的数据库定义信息160中生成数据库166;以文本格式输出数据定义168,它按照与来自数据库定义信息160的数据库166中每一个项目相对应的项目对象定义的原型输出;通过使用了显示器102、键盘106以及鼠标108的交互式过程,来修改数据定义168的内容;并且输出Java(R)源文件164,该Java(R)源文件164用于从已修改的数据定义168中定义该项目对象的类。
图12示出了数据库定义信息160中内容的例子。图13示出了数据定义168的例子。如图13所示的数据定义168,在图12所示的数据库定义信息160中“/RECORD”语句之后,从具有“ORDER RECEPTION NUMBER”的字符串行直接摘录的信息为基础而生成。此外,必要的项目稍后由程序员添加到数据定义168中。每一行由表明属性的关键字构成(例如,“/LANG”、“/INPUTTYPE”等等),并且该属性的内容与该关键字相对应。将对应于数据检查方法的程序编码原型,添加到数据定义168的内容中的过程,也在此时执行。
通过从数据库定义信息160生成数据定义168,可以使生成项目对象的过程的数量最小化。
图14示意性地示出了从数据库定义信息160中生成数据定义168的程序流程图。参考图14,首先,打开由程序员指定的数据库定义文件(步骤S41)。在此之后,读取该文件的第一行(步骤S42)。确定该行的数据是否是“/RECORD”(步骤S43)。重复步骤S42和S43的处理过程,直到所读的行的内容是“/RECORD”。
在读完“/RECORD”一行后,重复生成以及输出数据定义168中数据库定义的每一行的过程。具体地,首先,读取数据库定义信息160的下一行(步骤S44),并且确定该行的数据是否是“/END”(步骤S45)。如果不是“/END”,则数据定义168从所读行的数据中生成,并且作为一项目对象文件输出(步骤S46),接着执行读取下一行的操作(步骤S44)。如果所读行的数据是“/END”,这就意味着在数据库定义信息160中的所有数据库项目都已进行处理,所以关闭该数据库定义文件(步骤S47)且该过程结束。
步骤S46的处理过程是以数据库定义的格式与数据定义168之间的对应关系为基础来确定的。由于此过程依赖于系统,且对于本领域技术人员来说是显而易见的,故在此将不说明其细节。
[使用项目对象的屏幕输出]
图15示意性地示出了通过使用存储在RAM 120等存储空间266上的项目对象,来输出屏幕(HTML源的输出)的结构图。参考图15,屏幕组件320和322,提供用于指定屏幕中所使用的项目的信息到窗体组件290中。窗体组件290寻找与位于存储空间266中的屏幕组件320和322中所给出的项目相对应的项目对象。由于将要在屏幕上显示的,诸如数据名和数据长度等的所有信息,都包含于项目对象中,故通过从该项目对象中获得信息,窗体组件290可以生成将提供给浏览器253等的HTML源。例如,通过传送已生成的HTML源到浏览器253等,图7A和7B所示的屏幕由在客户PC上运行的浏览器来显示。
由于诸如将要显示的项目的名称、数据长度以及数据格式等信息从该项目对象中获得,故这些信息在组件320和322中没有被编码。图16示出了部分屏幕组件320和322的例子。参考图16,在屏幕组件320和322的程序中,常数“p_fields”作为一列将要在进程中使用的项目对象名,在参数定义行420中定义,且该常数作为参数,通过调用该窗体组件的调用命令421,以下列逻辑提供给该窗体组件。该逻辑是,仅在参数定义行420中看到直接连接于商业活动的项目对象的指定。该项目对象的指定在程序定义文件312中定义。在此,执行屏幕组件320和322,同时引用在程序定义文件312中定义的项目对象的指定。因此,直接连接于该商业活动的项目对象的指定,仅能在程序定义文件312中看到。
假如是这样的话,当从屏幕组件320和322提供给窗体组件290的参数,被设置成与如图16中所示的{userid,username,pronunciation,……}一样时,仅通过将参数变成程序定义文件312中的一列其它项目对象名称,就可以通过使用与屏幕组件320和322相同的逻辑以及与窗体组件290相同的逻辑,来显示完全不同的屏幕。
图17示出了用于生成该窗体组件的程序逻辑的流程图。以下的过程按顺序在每个给出的参数上从头执行。至于每个参数,引用由程序员指定的项目对象,并且与用于输入项目的窗体组件相对应的HTML源,从诸如项目名称以及数据长度等信息中生成(步骤S51)。
随后,确定是否所有的参数都已处理(步骤S52)。重复执行步骤S51和S52的处理过程,直到所有的参数都被处理。
当该步骤确定所有的参数都已处理时,由这些过程形成的HTML源被输出到浏览器253等(步骤S53),并且该过程结束。
如上所述,任何项目对象的特殊信息在该屏幕组件逻辑中都不进行编码。由此,该屏幕组件可以在各种过程中经常地重复使用。由于窗体组件290本身与任何项目对象的特殊信息分离开,故窗体组件290同样可以在各种过程中经常地重复使用。
根据本发明,通过使用项目对象,用户接口成功地与程序分离开,并且作为组件来使用。此外,通过执行该项目的错误检测逻辑和作为方法在项目对象中更新数据库,直接与商业活动相连的程序部分可以作为组件使用。
当程序模式执行时,使用项目对象来生成屏幕的例子,虽然已经在此实施例中描述过了,但是屏幕的形式并不限于此。
例如,在屏幕组件中,可以定义用来生成屏幕所必须的所有数据。甚至这样,当屏幕被修改时,检查过程和用于生成命令的第一部分(“where”子句)的过程都不得不修改,由于这两个过程都包含于同一屏幕组件中,故该技术可以易于应付在这种情况下的改变。
虽然已对本发明进行了详细的说明和举例,但是应该清楚的知道,上述记载只是对本发明的举例说明和最合适的例子,而不是对本发明的限制,本发明的实质和范围仅由所附的各项权利要求来限定。

Claims (20)

1.一种用于访问数据库的计算机程序产品,其通过允许计算机执行多个屏幕组件来进行访问,其包括步骤:
指定将要由计算机执行的上述多个屏幕组件的顺序,其中
上述多个屏幕组件中的每一个组件都包括步骤:
依照从外部给出的每一个屏幕组件的定义,生成除第一部分外的第二部分,该第二部分用于指定访问上述数据库的命令中将要被处理的数据;
生成用于输入和/或输出数据的屏幕;以及
依照从外部提供的每一个屏幕组件的定义,生成第一部分,该第一部分用于指定访问上述数据库的命令中将要被处理的数据。
2.根据权利要求1所述的计算机程序产品,其中
上述屏幕生成步骤依照从外部给出的每一个屏幕组件的在上述数据库中的项目,来生成屏幕。
3.根据权利要求1所述的计算机程序产品,进一步包括步骤:
指定用于执行上述步骤的顺序,上述步骤包含于上述多个屏幕组件的每一个组件中,以便于在上述多个屏幕组件的所有组件中以相同的顺序执行。
4.根据权利要求1所述的计算机程序产品,其中
上述多个屏幕组件的每一个组件都进一步包括检查步骤,该步骤依照从外部给出的每一个屏幕组件的上述数据库项目,来检查所获得的数据。
5.根据权利要求1所述的计算机程序产品,其中
在生成上述第一部分的上述步骤中,生成命令中的上述第一部分,当下一个屏幕组件由上述计算机来实现时将执行该命令。
6.根据权利要求4所述的计算机程序产品,其中
在生成上述第一部分的上述步骤中,在该命令中的上述第一部分是以在上述检查步骤中检查过的数据为基础而生成的。
7.根据权利要求1所述的计算机程序产品,其中
生成上述第二部分的上述步骤包括那些不生成上述第二部分的过程。
8.根据权利要求4所述的计算机程序产品,其中
上述检查步骤包括那些不检查任何数据的过程。
9.根据权利要求1所述的计算机程序产品,其中
生成上述第一部分的上述步骤包括那些不生成上述第一部分的过程。
10.根据权利要求1所述的计算机程序产品,其中
上述屏幕组件进一步包括输出步骤,该步骤在上述屏幕生成步骤之后,输出所生成的屏幕。
11.根据权利要求1所述的计算机程序产品,其中
每一个上述屏幕组件都包括执行步骤,该步骤在生成上述第二部分的步骤之后,执行由最近生成的上述第一部分和第二部分中之一所确定的命令。
12.根据权利要求11所述的计算机程序产品,进一步包括步骤:
在执行由上述第一和第二部分所确定的命令的上述步骤后,生成HTML源的步骤。
13.根据权利要求1所述的计算机程序产品,其中
上述第一和第二部分存储于存储器的公共区域。
14.根据权利要求1所述的计算机程序产品,其中
从外部给出的定义是用XML或CSV来描述的。
15.根据权利要求1所述的计算机程序产品,其中
上述指定顺序的步骤包括以下步骤:
获取页面转换信号;以及
依照上述所获取的页面转换信号来执行上述屏幕组件。
16.根据权利要求1所述的计算机程序产品,其中
生成上述第一部分的上述步骤,包括生成SQL语句中除“where”子句的部分,及
生成上述第二部分的上述步骤,包括生成SQL语句中“where”子句的部分。
17.根据权利要求1所述的计算机程序产品,其中
生成上述屏幕的上述步骤包括以下步骤:
为每一个上述数据库项目,准备窗体组件项目,其对于输入或输出与该项目相对应的项目对象的项目是必要的;以及
根据用于实现窗体组件的预定格式来生成源文件,其中上述窗体组件项目设置在该窗体组件上。
18.根据权利要求17所述的计算机程序产品,其中
上述窗体组件项目准备步骤,包括找出项目对象的步骤,该项目对象对应于从外部给出的、每一个上述屏幕组件的、在上述数据库中的项目。
19.一种计算机可读记录介质,其上存储有访问数据库的程序,该程序通过允许计算机执行多个屏幕组件来进行访问,其包括步骤:
指定将要由计算机执行的上述多个屏幕组件的顺序,其中
上述多个屏幕组件中的每一个组件都包括步骤:
依照从外部给出的每一个屏幕组件的定义,生成除第一部分外的第二部分,该第二部分用于指定访问上述数据库的命令中将要被处理的数据;
生成用于输入和/或输出数据的屏幕;以及
依照从外部提供的每一个屏幕组件的定义,生成第一部分,该第一部分用于指定访问上述数据库的命令中将要被处理的数据。
20.一种操作数据库的方法,该方法通过允许计算机执行多个屏幕组件来进行操作,包括步骤:
指定将要由计算机执行的上述多个屏幕组件的顺序,其中
上述多个屏幕组件中的每一个组件都包括步骤:
依照从外部给出的每一个屏幕组件的定义,生成除第一部分外的第二部分,该第二部分用于指定访问上述数据库的命令中将要被处理的数据;
生成用于输入和/或输出数据的屏幕;以及依照从外部提供的每一个屏幕组件的定义,生成第一部分,该第一部分用于指定访问上述数据库的命令中将要被处理的数据。
CNB031407617A 2002-04-15 2003-04-15 数据库访问方法和数据库服务器 Expired - Lifetime CN100545803C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP112448/02 2002-04-15
JP2002112448A JP2003308332A (ja) 2002-04-15 2002-04-15 データベースアクセスプログラム、そのプログラムを記録したコンピュータ読取可能な記録媒体およびデータベース操作方法
JP112448/2002 2002-04-15

Publications (2)

Publication Number Publication Date
CN1459713A true CN1459713A (zh) 2003-12-03
CN100545803C CN100545803C (zh) 2009-09-30

Family

ID=29267327

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031407617A Expired - Lifetime CN100545803C (zh) 2002-04-15 2003-04-15 数据库访问方法和数据库服务器

Country Status (3)

Country Link
US (1) US7222118B2 (zh)
JP (1) JP2003308332A (zh)
CN (1) CN100545803C (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073642A (zh) * 2009-11-23 2011-05-25 英业达集团(天津)电子技术有限公司 自动生成结构化sql语句的方法与其电子装置
CN109478051A (zh) * 2017-04-17 2019-03-15 三菱电机株式会社 程序创建装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050198567A1 (en) * 2004-01-29 2005-09-08 Vermeulen Bert M. Web navigation method and system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5566330A (en) * 1991-08-20 1996-10-15 Powersoft Corporation Method for forming a reusable and modifiable database interface object
JP2710548B2 (ja) 1993-03-17 1998-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション データを検索する方法およびブール代数文表現と図形表現を互いに変換する方法
JP3227066B2 (ja) * 1994-09-21 2001-11-12 株式会社日立製作所 プログラム部品を用いたプログラム生成方法
JPH08171508A (ja) 1994-12-19 1996-07-02 Canon Inc データベース管理方法及び装置
US5787453A (en) * 1995-10-24 1998-07-28 Peoplesoft, Inc. Interactive formula processing system for SQL data base
US5875334A (en) * 1995-10-27 1999-02-23 International Business Machines Corporation System, method, and program for extending a SQL compiler for handling control statements packaged with SQL query statements
JPH11345235A (ja) 1998-01-13 1999-12-14 Matsushita Electron Corp Html生成装置、html生成方法及びhtml生成プログラムを記録したコンピュータ読み取り可能な記録媒体
US6779177B1 (en) * 1999-10-28 2004-08-17 International Business Machines Corporation Mechanism for cross channel multi-server multi-protocol multi-data model thin clients
US6430556B1 (en) * 1999-11-01 2002-08-06 Sun Microsystems, Inc. System and method for providing a query object development environment
JP4136271B2 (ja) 2000-05-16 2008-08-20 住友電気工業株式会社 アプリケーションサーバシステム
JP2003050588A (ja) * 2001-08-06 2003-02-21 Pioneer Electronic Corp コンテンツ提供システムの管理サーバ装置、および端末装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073642A (zh) * 2009-11-23 2011-05-25 英业达集团(天津)电子技术有限公司 自动生成结构化sql语句的方法与其电子装置
CN109478051A (zh) * 2017-04-17 2019-03-15 三菱电机株式会社 程序创建装置

Also Published As

Publication number Publication date
CN100545803C (zh) 2009-09-30
US20030208504A1 (en) 2003-11-06
US7222118B2 (en) 2007-05-22
JP2003308332A (ja) 2003-10-31

Similar Documents

Publication Publication Date Title
CN1823335A (zh) 抽象数据链接和联接接口
CN1313953C (zh) 在软件对象与以结构化语言要素为基础的文件之间映射的系统及方法
CN1768325A (zh) 公开内容的抽象数据库抽象中的规则应用管理
CN100336059C (zh) 智能使用用户数据以抢先阻止违反访问控制的查询的执行
CN1564976A (zh) 设计用户界面样式的方法以及具有自适应用户界面的设备
CN1315017A (zh) 包含内部引用的两种版本数据表格之间的差别提取
CN1573753A (zh) 数据库对象脚本生成方法和系统
CN1379882A (zh) 将二维数据转换为标准形式的方法
CN101052948A (zh) 对象过程图应用程序开发系统
CN1591406A (zh) 集成多应用数据处理系统
CN1811702A (zh) 开发门户应用和自动部署门户应用的系统和方法
CN1773508A (zh) 把源文档转换成目标网页文件的方法
CN1647076A (zh) 查询关系数据库的方法和设备
CN1609796A (zh) 应用编程接口(api)的设计
CN1310824A (zh) 用于数据仓库的选择聚集层和交叉产品层的方法和装置
CN101048728A (zh) 文档管理系统及其方法
CN1215485A (zh) 一种基于协议的数据库功能改变的方法和装置
CN1955991A (zh) 在业务模型中集成模型语义和领域语义的方法和装置
CN1991837A (zh) 结构化文档处理装置和方法
CN1920837A (zh) 面向复杂装备多学科设计软件集成的参数映射方法
CN1783127A (zh) 基于结构化商务能力的有效和灵活的商务建模
CN1228728C (zh) 在web应用中产生定制商业报表的系统和方法
CN101048776A (zh) 内容数据检索装置
CN1723463A (zh) 用于将可扩展标记语言映射到n维数据结构的方法和系统
CN1139886C (zh) 文件或数据库管理器以及基于其的系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term

Granted publication date: 20090930

CX01 Expiry of patent term