无可致否,代码生成器对于程序员的帮助是越来越大。网上出现了一些优秀的代码工具,比较出名的如:CodeSmith, MyGeneration。但我一直没有找到直接将oracle存储过程包转化为c#的工具或模板(有谁知道告知我啊非常感谢!:),故在工作中编写了CodeRobot这个小冬冬>,使用起来是比较方便的。以下简要说明一下使用方法:
(1)生成的代码基于OracleBase类(用于数据库开闭及command参数预处理)。请将该类包含进工程。
(2)数据库连接字符串默认保存在工程的config配置文件中,如
<add key="ConnStr" value="data source=portal; user id=user; password=pass;"/>
(3)对于字符串类型的输出参数,在生成C#代码类似
AddCmdParamOut(cmd, "P_NAME", OracleType.VarChar, #length#);
的代码,请将#length#改成对应字段的实际长度
(4)对于游标类型的输出参数,在oracle中定义为:
type genrefcur is ref cursor;
procedure example(p_id int, p_cur out genrefcur);
则生成C#代码为:
public void EXAMPLE(long P_ID, out OracleDataReader P_CUR)
(5)使用代码如:
using (DbExample db = new DbExample)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
db.FUNC1(..);
db.FUNC2(..);
}
---------------------------------------------
What's new
---------------------------------------------
Ver 1.1.* (下载)
- 可使用Pascal格式化函数名和参数名
- 修正无法获取 oracle 10g dsn列表的问题
Ver 1.0.2764 (下载)
- 使用ICSharpCode.TextEditor 展现代码
Ver 1.0.2448
- 添加Blob支持
- 简化OracleBase
Ver 1.0.2167:
- 自动获取oracle dsn列表
- 支持存储过程(函数)
- 支持DataReader, DataSet, DataTable输出
- 一些小bug