From f28ae99c2f9d06c8bc40786fbe8fc3127965e757 Mon Sep 17 00:00:00 2001
From: tjx <t2856754968@163.com>
Date: 星期四, 18 十二月 2025 14:47:06 +0800
Subject: [PATCH] 111

---
 StandardPda/MES.Service/DB/OracleSQLHelper.cs |   61 ++++++++++++++++++++++++++++++
 1 files changed, 61 insertions(+), 0 deletions(-)

diff --git a/StandardPda/MES.Service/DB/OracleSQLHelper.cs b/StandardPda/MES.Service/DB/OracleSQLHelper.cs
index 9a36dba..c02aeb3 100644
--- a/StandardPda/MES.Service/DB/OracleSQLHelper.cs
+++ b/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();
+        }
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3