111
tjx
6 天以前 f34f0751ef0c6305c94ff342ca7fbe24aa09844e
StandardPda/MES.Service/DB/OracleSQLHelper.cs
@@ -66,6 +66,20 @@
        }
    }
    public int ExecuteNonQueryWithTransaction(string sql,
        OracleParameter[] parameters, OracleConnection connection,
        OracleTransaction transaction)
    {
        using (var cmd = new OracleCommand(sql, connection))
        {
            cmd.Transaction = transaction;
            if (parameters != null)
                cmd.Parameters.AddRange(parameters);
            return cmd.ExecuteNonQuery();
        }
    }
    public int ExecuteTransaction(string query1)
    {
        using (var connection = new OracleConnection(_connectionString))
@@ -101,6 +115,23 @@
        {
            using (var command = new OracleCommand(query, connection))
            {
                connection.Open();
                return command.ExecuteScalar();
            }
        }
    }
    // 执行查询并返回单个值(带参数)
    public object ExecuteScalar(string sql, CommandType commandType, OracleParameter[] parameters)
    {
        using (var connection = new OracleConnection(_connectionString))
        {
            using (var command = new OracleCommand(sql, connection))
            {
                command.CommandType = commandType;
                if (parameters != null)
                    command.Parameters.AddRange(parameters);
                connection.Open();
                return command.ExecuteScalar();
            }
@@ -228,4 +259,34 @@
    //     }
    //     return result;
    // }
    // 打开连接并开启事务
    public (OracleConnection, OracleTransaction) BeginTransaction()
    {
        var connection = new OracleConnection(_connectionString);
        connection.Open();
        var transaction = connection.BeginTransaction();
        return (connection, transaction);
    }
    // 关闭连接(提交或回滚后用)
    public void CloseConnection(OracleConnection connection)
    {
        if (connection != null && connection.State != ConnectionState.Closed)
        {
            connection.Close();
            connection.Dispose();
        }
    }
    public object ExecuteScalarWithTransaction(OracleConnection conn,
        OracleTransaction tran, string sql, params OracleParameter[] parameters)
    {
        using (var cmd = conn.CreateCommand())
        {
            cmd.Transaction = tran;
            cmd.CommandText = sql;
            if (parameters != null) cmd.Parameters.AddRange(parameters);
            return cmd.ExecuteScalar();
        }
    }
}