OracleCommand 构造函数

OracleCommand构造函数详解
本文详细介绍了OracleCommand的构造函数,包括如何使用查询文本、OracleConnection对象和OracleTransaction初始化OracleCommand类。重点突出如何创建并配置OracleCommand实例以执行Oracle数据库操作。

OracleCommand 构造函数

初始化 OracleCommand 的新实例。

名称

说明

OracleCommand()

初始化 OracleCommand 的新实例。

OracleCommand(String)

用查询文本初始化 OracleCommand 类的新实例。

OracleCommand(String, OracleConnection)

用查询文本和 OracleConnection 对象初始化 OracleCommand 类的新实例。

OracleCommand(String, OracleConnection, OracleTransaction)

用查询文本、OracleConnection 对象以及 OracleTransaction 初始化 OracleCommand 类的新实例。


OracleCommand 构造函数 (String, OracleConnection)

 用查询文本和 OracleConnection 对象初始化 OracleCommand 类的新实例。

命名空间:  System.Data.OracleClient
程序集:  System.Data.OracleClient(在 System.Data.OracleClient.dll 中)

 

public OracleCommand(

    string commandText,

    OracleConnection connection

)

 

commandText

类型:System.String

查询的文本。

connection

类型:System.Data.OracleClient.OracleConnection

一个 OracleConnection 对象,它表示与数据库的连接。

(参考自:http://msdn.microsoft.com/zh-cn/library/65t0yd1x(v=vs.90).aspx)


using log4net; using Oracle.ManagedDataAccess.Client; using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Threading.Tasks; public class OracleDBHelper { public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo"); //private string connectionString; private static readonly string DefaultConnectionString = ConfigurationManager.AppSettings["Conn"].ToString(); public static OracleDBHelper CreateDefault() { return new OracleDBHelper(DefaultConnectionString); } // 新增带参数的异步执行方法 public async Task<int> ExecuteNonQueryAsync(string sql, params OracleParameter[] parameters) { try { using (var connection = new OracleConnection(connectionString)) { await connection.OpenAsync(); using (var command = new OracleCommand(sql, connection)) { // 添加参数(如果存在) if (parameters != null && parameters.Length > 0) { command.Parameters.AddRange(parameters); } return await command.ExecuteNonQueryAsync(); } } } catch (Exception ex) { loginfo.Error($"Error executing async non-query: {sql}", ex); return -1; // 返回-1表示失败 } } public async Task<DataTable> ExecuteQueryAsync(string query) { DataTable dataTable = new DataTable(); try { using (OracleConnection connection = new OracleConnection(connectionString)) { await connection.OpenAsync(); using (OracleCommand command = new OracleCommand(query, connection)) { using (OracleDataReader reader = (OracleDataReader)await command.ExecuteReaderAsync()) { dataTable.Load(reader); } } } loginfo.Info("Async query executed successfully."); } catch (Exception ex) { loginfo.Error("Error executing async query: ", ex); } return dataTable; } public int ExecuteNonQuery(string query) { int rowsAffected = 0; try { using (OracleConnection connection = new OracleConnection(connectionString)) { connection.Open(); using (OracleCommand command = new OracleCommand(query, connection)) { rowsAffected = command.ExecuteNonQuery(); } } loginfo.Info("Non-query executed successfully."); } catch (Exception ex) { loginfo.Error("Error executing non-query: ", ex); } return rowsAffected; } } “OracleDBHelper”不包含采用 1 个参数的构造函数
最新发布
09-05
补充下 ORACLE DBHELPER 文件 using log4net; using Oracle.ManagedDataAccess.Client; using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Threading.Tasks; public class OracleDBHelper { public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo"); //private string connectionString; private string connectionString = ConfigurationManager.AppSettings["Conn"].ToString(); public OracleDBHelper(string connectionString) { this.connectionString = connectionString; loginfo.Info("OracleDBHelper initialized with connection string."); } // 新增带参数的异步执行方法 public async Task<int> ExecuteNonQueryAsync(string sql, params OracleParameter[] parameters) { try { using (var connection = new OracleConnection(connectionString)) { await connection.OpenAsync(); using (var command = new OracleCommand(sql, connection)) { // 添加参数(如果存在) if (parameters != null && parameters.Length > 0) { command.Parameters.AddRange(parameters); } return await command.ExecuteNonQueryAsync(); } } } catch (Exception ex) { loginfo.Error($"Error executing async non-query: {sql}", ex); return -1; // 返回-1表示失败 } } public async Task<DataTable> ExecuteQueryAsync(string query) { DataTable dataTable = new DataTable(); try { using (OracleConnection connection = new OracleConnection(connectionString)) { await connection.OpenAsync(); using (OracleCommand command = new OracleCommand(query, connection)) { using (OracleDataReader reader = (OracleDataReader)await command.ExecuteReaderAsync()) { dataTable.Load(reader); } } } loginfo.Info("Async query executed successfully."); } catch (Exception ex) { loginfo.Error("Error executing async query: ", ex); } return dataTable; } public int ExecuteNonQuery(string query) { int rowsAffected = 0; try { using (OracleConnection connection = new OracleConnection(connectionString)) { connection.Open(); using (OracleCommand command = new OracleCommand(query, connection)) { rowsAffected = command.ExecuteNonQuery(); } } loginfo.Info("Non-query executed successfully."); } catch (Exception ex) { loginfo.Error("Error executing non-query: ", ex); } return rowsAffected; } }
09-04
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值