Oracle数据库增删查改代码生成器

来源:互联网 发布:微星 主机 知乎 编辑:程序博客网 时间:2024/05/22 04:27

最近用C#写了一个程序:根据Oracle数据库表自动生成该表的增删查改操作代码,在项目中引入生成文件,调用代码生成的函数可进行数据库增删查改。由于自己也在学习中,故将其大致思想分享出来,和大家分享讨论。

该程序的程序界面如图:

该程序分为两个功能,一是生成文件,二是直接显示。点击生成字符串后,会在所选的生成文件路径上生成相应的cs文件;点击直接显示,会在下面的textbox中显示生成的代码。


接下来介绍一下大致核心思想:

首先需要获取数据库连接字符串,获取连接字符串只需要判断界面上的没有存在未填项,就可以生成字数据库连接字符串,具体格式为 user id+data source+password。

接着,就可以进行select操作的生成了,生成之前需要对数据库连接成功与否进行验证,所以需要写数据库连接验证,可以设置bool类型变量作为返回值,在try中new一个OracleConnection,成功返回TRUE,失败跳进catch,返回FALSE。通过数据库连接之后,还需要检测该表是否在数据库中存在,建立OracleCommand,在OracleCommand的text中写入select * from +表名 where rownum=1,进行验证该表是否存在。验证表存在之后,就可以用select条件语句获取该表的列名了。生成的select操作语句为:this.oracleSelectCommand1.CommandText = @\"SETECT {0} FROM {1}\";{0}中为刚才获得的表列名,{1}为表名。

得到了select操作后,就可以根据select操作,利用OracleCommandBuilder生成相应的插入、更新、删除操作了。大致代码如下:

OracleDataAdapter da = new OracleDataAdapter(String.Format("select * from {0} where rownum=1", 表名),数据库连接);
                            OracleCommandBuilder ocb = new OracleCommandBuilder(da);
                            cmdInsert = ocb.GetInsertCommand(true);
                            cmdUpdate = ocb.GetUpdateCommand(true);
                            cmdDelete = ocb.GetDeleteCommand(true);

这里利用OracleCommand获取了插入、更新、删除操作。然后可以利用text的属性查看生成的相关代码,并利用调试查看该OracleCommand的相关属性,填写在代码相应的位置上。

最后,将生成的这些代码写入stringBuilder中,同时利用streamWriter将其写入文件中或者直接显示在界面上。




0 0
原创粉丝点击