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将其写入文件中或者直接显示在界面上。
- Oracle数据库增删查改代码生成器
- Oracle 数据库 增删改查
- 告别无止境的增删改查:Java代码生成器
- 告别无止境的增删改查--Java代码生成器
- 告别无止境的增删改查:Java代码生成器
- Java代码生成器--告别无止境的增删改查
- 告别无止境的增删改查--Java代码生成器
- 使用velocity 代码生成器,告别繁琐的增删改查
- Hibernate增删改查Oracle数据库
- 数据库oracle--SQL增删改查1
- 数据库oracle--SQL增删改查2
- 数据库oracle--SQL增删改查3
- MyBatis框架增删改查(Oracle数据库)
- oracle数据库增删改查,序列,触发器
- oracle数据库的增删查改
- oracle数据库的简单增删改查
- Hibernate数据库增删改查代码
- SQLite数据库的增删改查代码
- Android 打包 apk
- 【移动开发】ListView的setSelection()和setSelectionFromTop()联系
- /usr/bin/ld: cannot find -lGL collect2: error: ld returned 1 exit status
- Android近场通信---NFC基础(三)
- 【BZOJ】2001 [Hnoi2010]City 城市建设 cdq分治——动态最小生成树
- Oracle数据库增删查改代码生成器
- Java JVM(一):内存结构 和 相关内存参数
- mac 下安装wget 源码
- Yahoo(雅虎)宣布停止开发YUI
- Cocos2d-x3.2实现虚拟摇杆多点触摸
- Ubuntu 12.04 samba 配置
- ExtJs+SHH实现异步树节点搜索和查找
- Android近场通信---NFC基础(四)
- hdu 2037