一种程序代码生成器的制造方法

文档序号:6489443阅读:323来源:国知局
一种程序代码生成器的制造方法
【专利摘要】本发明涉及一种程序代码生成器,通过识别出目标数据库的表结构后,按照特定的语法自动生成计算机程序代码,其特征在于,生成的计算机程序代码是基于C#语法的,可以用于访问,修改,删除已知的SqlServer或者Access数据库表中数据的代码,或者根据数据库中表的结构生成相应数据库存储过程的代码。本发明突破了传统计算机软件开发时需要程序员手写输入代码的方式,提高了软件开发的速度和效率。
【专利说明】一种程序代码生成器
[0001]
【技术领域】
[0002]本发明涉及一种程序代码生成器,尤其是一种基于C#语法的,用于访问,修改,删除已知的SqlServer或者Access数据库表中数据的,或者根据数据库中表的结构生成相应数据库存储过程的计算机程序代码自动生成器。
【背景技术】
[0003]计算机程序代码是用来制作计算机软件和硬件驱动,操作系统等工具的最基本的组成单元。每个计算机软件,无论是应用软件,硬件驱动软件,操作系统软件,其最终的生成形式,目前都是通过计算机程序代码编写人员在特定的计算机程序开发工具上,按一定的语法规则手写输入的计算机程序代码而形成的。
[0004]然而,随着计算机技术的不断发展和更新,计算机软件系统的规模在不断扩大,目前,规模较大的计算机软件的程序代码已经有几亿行之多,并且随着计算机技术继续不断更新和发展,计算机软件的规模还在不断加大。由此,目前的手工编写计算机程序代码的模式已经在一定程度上限制了计算机软件规模扩大的步伐。
[0005]而在基于数据库的计算机应用软件中,对于用于访问,修改,删除已知数据库表中数据的计算机程序代码不仅代码量在整个目标软件系统中占据了相当大的规模,而且该部分代码是基于数据库表结构的具有一定规律性的代码,计算机程序代码编写人员在编写这部分代码时,完全可以借用一些工具自动生成这部分代码。

【发明内容】

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