一种计算机程序代码自动生成器的制作方法

文档序号:6552656阅读:316来源:国知局
专利名称:一种计算机程序代码自动生成器的制作方法
技术领域
本发明涉及一种计算机程序代码自动生成器,尤其是一种基于c朽吾法的,
用于访问,修改,删除已知的SqlServer或者Access数据库表中数据的,或 者根据数据库中表的结构生成相应数据库存储过程的计算机程序代码自动生 成器》
背景技术
计算机程序代码是用来制作计算机软件和硬件驱动,操作系统等工具的最 基本的组成单元。每个计算机软件,无论是应用软件,硬件驱动软件,操作系 统軟件,其最终的生成形式,目前都是通过计算才几程序代码编写人员在特定的 计算机程序开发工具上,按一定的语法规则手写输入的计算机程序代码而形成的。
然而,随着计算机技术的不断发展和更新,计算机软件系统的规模在不断 扩大,目前,规模较大的计算机软件的程序代码已经有几亿行之多,并且随着 计算机技术继续不断更新和发展,计算机软件的规模还在不断加大。由此,目 前的手工编写计算机程序代码的模式已经在一定程度上限制了计算机软件规模 扩大的步伐。
而在基于数据库的计算机应用软件中,对于用于访问,修改,删除已知数 据库表中数据的计算机程序代码不仅代码量在整个目标软件系统中占据了相当 大的规模,而且该部分代码是基于数据库表结构的具有一定规律性的代码,计 算机程序代码编写人员在编写这部分代码时,完全可以借用一些工具红动生成 这部分代码。

发明内容
本发明的目的在于针对以上现有技术存在的不足,在开发基于数据库的 软件系统时,提出一种可以按照数据库的表结构和指定的语法C#,自动生成甩 于访问,修改,删除已知数据库表中数据的计算机程序代码。为了达到以上目的,本发明的计算机程序代码自动生成器应包含如下组件
数据库结构识别组件——用以访问数据库,识别出数据库中表的表名及各 个字段名,字段的属性,取值范围等信息;
代码生成组件——用以在内存中,4艮据凄t据库结构识别组件识别出的信息, 按照CH吾法生成相应的代码;
存储过程生成组件一一用以在内存中,才艮据数据库结构识别组件识别出的 信息,按照SQL语法生成相应的存储过程代码;
目标代码生成器---^个类似于记事本的可编辑工具,生成后的代码显示
在该编辑器中,使用者可以编辑生成后的代码。
目前基于数据库的计算机软件系统,对于数据中的每个表的操作具体为 在表中新增一条记录,根据记录的索引号修改一条记录,根据记录的索引号删 除一条记录,根据记录的索引号获取一条记录,获取表中的所有记录。本发明 的计算机程序代码自动生成器将根据其数据库结构识别组件识别出表结构后, 按照C朽吾法依次生成完成上述操作的函数,以及依据SQL语法生成每个函数需 要使用的存储过程。生成的结果显示在目标代码生成器中。
具体的代码生成包括如下的步骤
步骤一通过数据库结构识别组件调用第三方组件ADO (ActiveX Data Objects),该组件中的方法可以获取数据库中的表名及字段名,数据库服务器 名通过用户在本发明的设置数据库服务器对话框中输入获取;
步骤二代码生成组件根据获取的表和表名及数据库服务器名,依次生成 如下几个函数
函数l新增一条记录
函数名为AddRec,函数具体完成的操作为打开数据库连接,获取新增 记录各个字段的值,新增记录各个字段的值是通过函数的参数进行传递的,然 后执行SQL的Add语句,之后关闭数据库连接,函数结束。
函数2根据记录的索引号修改一条记录
函数名为UpdateRec,函数具体完成的操作为打开数据库连接,获取修改的记录各个字段的值,修改记录各个字段的值是通过函数的参数进行传递的,
然后执行SQL的Update语句,之后关闭数据库连接,函数结束。 函数3根据记录的索引号删除一条记录
函数名为DelRec,函数具体完成的操二作为打开数据库连接,然后执行 SQL的Delete语句,搜索记录的索引号通过函数的^lt进行传递,之后关闭数 据库连接,函数结束。
函数4根据记录的索引号获取一条记录
函数名为SelOneRec,函数具体完成的操作为打开数据库连接,然后执 行SQL的Select语句,搜索记录的索引号通过函数的参数进行传递,之后关闭 数据库连接,返回查询的记录,函数结束。
函数5获取表中的所有记录
函数名为SelAllRec,函数具体完成的操作为打开数据库连接,然后执 行SQL的Select语句,之后关闭数据库连接,需要返回的记录通过数组传出, 函数结束。
如使用者选择需要生成存储过程,则代码生成组件根据获取的表和表名及 数据库服务器名,依次生成如下几个存储过程
新增一条记录的存储过程,根据表名和字段名生成SQL的ADD语句;
修改一条记录的存储过程,根据表名和字段名生成SQL的Update语句,该 存储过程需要传入索引号作为参数;
删除一条记录的存储过程,根据表名和字段名生成SQL的Delete语句,该
存储过程需要传入索引号作为参数;
获取一条记录的存储过程,根据表名和字段名生成SQL的Select语句,该
存储过程需要传入索引号作为参数。
所有的代码生成后,存储在内存中,然后写入到目标代码生成器中。目标 代码生成器的编辑区其实就是一个临时的记事本文件,写入代码生成器的过程 就是通过调用一个文件对象,使用二进制流对象来写入文件的。代码全部写入 到目标代码生成器中后,则完成代码自动生成。用户可以根据自己的特殊需要在目标代码生成器中修改生成的代码,修改完毕后使用者可以将生成的代码直
接拷贝到使用者的开发工具里。
具体实施例方式
实施例一
本实施例包括如下步骤
步骤一使用者在电脑上安装完本发明后,打开执行文件,然后打开设置 数据库服务器对话框,在该对话框中选择需要生成代码的目标数据库,输入数 据库服务器的用户密码,点击确定连接凄t据库;
步骤二连接上数据库后,用户选择需要生成代码的数据库表;
步骤三选择好数据库表以后,本发明将按照用户的设置自动生成计算机 程序代码,生成程序的代码步骤如下所述
1:通过lt据库结构识别组件调用第三方组件ADO ( ActiveX Data Objects ), 该组件中的方法可以获取数据库中的表名及字段名,数据库服务器名通过用户 在本发明的设置数据库服务器对话框中输入获取;
2:代码生成组件根据获取的表和M及数据库服务器名,依次生成如下几 个函数
函数l新增一条记录
函数名为AddRec,函数具体完成的操作为打开数据库连接,获取新增 记录各个字段的值,新增记录各个字段的值是通过函数的参数进行传递的,然 后执行SQL的Add语句,之后关闭数据库连接,函数结束。
函数2根据记录的索引号修改一条记录
函数-名为UpdateRec,函数—具体完成的才乘作为打开凄t据库连接,获取修 改的记录各个字段的值,修改记录各个字段的值是通过函数的参数进行传递的, 然后执行SQL的Update语句,之后关闭数据库连接,函H结束。
函数3根据记录的索引号删除一条记录
函数名为DelRec,函数具体完成的搮:作为打开数据库连接,然后执行SQL的Delete语句,搜索记录的索引号通过函数的;^lt进行传递,之后关闭数 据库连接,函数结束。
函数4根据记录的索引号获取一条记录
函数名为SelOneRec,函数具体完成的操作为打开数据库连接,然后执 行SQL的Select语句,搜索记录的索引号通过函数的参数进行传递,之后关闭 数据库连接,返回查询的记录,函数结束。
函数5获取表中的所有记录
函数名为SelAllRec,函数具体完成的操作为打开数据库连接,然后执 行SQL的Select语句,之后关闭数据库连接,需要返回的记录通过数组传出, 函数结束。
如使用者选择需要生成存储过程,则代码生成组件根据获取的表和表名及 数据库服务器名,依次生成如下几个存储过程
新增一条记录的存储过程,根据表名和字段名生成SQL的ADD语句;
修改一条记录的存储过程,根据表名和字段名生成SQL的Update语句,该 存储过程需要传入索引号作为参数;
删除一条记录的存储过程,根据表名和字段名生成SQL的Delete语句,该
存储过程需要传入索引号作为参数;
获取一条记录的存储过程,根据表名和字段名生成SQL的Select语句,该
存储过程需要传入索引号作为参数。
所有的代码生成后,存储在内存中,然后写入到目标代码生成器中。目标 代码生成器的编辑区其实就是一个临时的记事本文件,写入代码生成器的过程 就是通过调用一个文件对象,4吏用二进制流对象来写入文件的。代码全部写入 到目标代码生成器中后,则完成代码自动生成。用户可以根据自己的特殊需要 在目标代码生成器中修改生成的代码,修改完毕后^^用者可以将生成的代码直
接拷贝到使用者的开发工具里。
权利要求
1. 一种计算机程序代码自动生成器,可以自动生成计算机程序代码,其特征在于,生成的计算机程序代码是基于C#语法的,可以用于访问,修改,删除已知的SqlServer或者Access数据库表中数据的代码,或者根据数据库中表的结构生成相应数据库存储过程的代码。
2. 根据权利要求1所述一种计算机程序代码自动生成器,其特征在于包含如下 组件数据库结构识别组件——用以访问数据库,识别出数据库中表的表名及各个字 段名,字段的属性,取值范围等信息;代码生成组件一一用以在内存中,根据数据库结构识别组件识别出的信息,按 照CH吾法生成相应的代码;存储过程生成组件一一用以在内存中,根据数据库结构识别组件识别出的信息, 按照SQL语法生成相应的存储过程代码;目标^ 码生成器---个类似于记事本的可编辑工具,生成后的代码显示在该编辑器中, -使用者可以编辑生成后的代码。
3. 根据权利要求2所述计算机程序代码自动生成器,其特征在于生成后的计 算机程序代码还可以被用户编辑。
全文摘要
本发明涉及一种计算机程序代码自动生成器,通过识别出目标数据库的表结构后,按照特定的语法自动生成计算机程序代码,其特征在于,生成的计算机程序代码是基于C#语法的,可以用于访问,修改,删除已知的SqlServer或者Access数据库表中数据的代码,或者根据数据库中表的结构生成相应数据库存储过程的代码。本发明突破了传统计算机软件开发时需要程序员手写输入代码的方式,提高了软件开发的速度和效率。
文档编号G06F9/44GK101419544SQ200710134009
公开日2009年4月29日 申请日期2007年10月26日 优先权日2007年10月26日
发明者李骁淳 申请人:镇江雅迅软件有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1