From a27f32ecbfc7390ceb9e3a8d8651c57ada88bfa0 Mon Sep 17 00:00:00 2001
From: zjh <2207896513@qq.com>
Date: 星期五, 19 十二月 2025 20:51:42 +0800
Subject: [PATCH] Merge branch 'master' of http://43.142.96.171:8080/r/~tjx/XB_MES_API

---
 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