OracleHelper类概述与执行无结果集命令方法
OracleHelper是一个用于Oracle数据库操作的类,由作者wzb编写。这个类的主要功能是执行无结果集的SQL命令,包括存储过程调用,通过已存在的数据库连接。类中的核心方法`ExecuteNonQuery`扮演了关键角色。 `ExecuteNonQuery`方法接收四个参数: 1. `OracleConnection connection`: 这是一个现有的Oracle数据库连接对象,用于与数据库进行交互。 2. `CommandType cmdType`: 定义SQL命令类型,如存储过程(StoredProcedure)、文本查询(Text)等,用于指示如何解释`cmdText`中的内容。 3. `string cmdText`: 存储过程名称或者用于执行的T-SQL命令字符串。如果`cmdType`是存储过程,那么这是存储过程的名称;如果是T-SQL,则是SQL语句本身。 4. `OracleParameter[] commandParameters`: 一个OracleParameter数组,包含了执行命令时所需的参数值和它们的类型信息。这些参数将被绑定到命令中,提高代码的灵活性和可维护性。 在方法内部,首先创建一个`OracleCommand`对象,并使用`connection.CreateCommand()`方法初始化。然后,通过`PrepareCommnad`方法来设置命令,根据`cmdType`决定是执行存储过程还是直接执行SQL文本。接下来,对`commandParameters`进行绑定,确保正确传递参数值。最后,尝试执行命令并获取影响的行数(`int val`),通常表示受影响的行数或插入、更新记录的数量。 这个类可能是某个应用程序或库的一部分,它提供了对Oracle数据库的封装,简化了与Oracle数据库的交互,提高了代码的可读性和复用性。通过`ExecuteNonQuery`这样的方法,开发人员可以方便地执行各种SQL操作,而无需深入了解底层的Oracle数据库连接细节。同时,异常处理(try-catch块)确保了在执行命令过程中出现错误时能够优雅地处理,增强了代码的健壮性。
/// ClassName: OracleHelper
/// Describe:数据库操作帮助类
/// Author:wzb
/// </summary>
public class OracleHelper
{
#region 1、执行命令,返回受影响的行数
/// <summary>
/// Execute a OracleCommand (that returns no resultset) against an existing database connection
/// using the provided parameters.
/// </summary>
/// <remarks>
/// e.g.:
/// int result = ExecuteNonQuery(connString, CommandType.StoredProcedure, "PublishOrders", new OracleParameter("@prodid", 24));
/// </remarks>
/// <param name="conn">an existing database connection</param>
/// <param name="commandType">the CommandType (stored procedure, text, etc.)</param>
/// <param name="commandText">the stored procedure name or T-Oracle command</param>
/// <param name="commandParameters">an array of OracleParamters used to execute the command</param>
/// <returns>an int representing the number of rows affected by the command</returns>
public static int ExecuteNonQuery(OracleConnection connection, CommandType cmdType, string cmdText, params OracleParameter[] commandParameters)
{
int val = 0;
try
{
OracleCommand cmd = connection.CreateCommand();
PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);
cmd.Parameters.Clear();
}
catch (OracleException oe)
{
throw oe;
}
finally
{
ConnectionManager.Close(connection);
}
return val;
}
#endregion
#region 2、执行命令,返回受影响的行数 重载,带事务
/// <summary>
/// Execute a OracleCommand (that returns no resultset) using an existing Oracle Transaction
/// using the provided parameters.
/// </summary>
/// <remarks>
/// e.g.:
/// int result = ExecuteNonQuery(connString, CommandType.StoredProcedure, "PublishOrders", new OracleParameter("@prodid", 24));
/// </remarks>
/// <param name="trans">an existing Oracle transaction</param>
/// <param name="commandType">the CommandType (stored procedure, text, etc.)</param>
/// <param name="commandText">the stored procedure name or T-Oracle command</param>
/// <param name="commandParameters">an array of OracleParamters used to execute the command</param>
/// <returns>an int representing the number of rows affected by the command</returns>
public static int ExecuteNonQuery(OracleTransaction trans, CommandType cmdType, string cmdText, params OracleParameter[] commandParameters)
剩余14页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦