using Oracle.ManagedDataAccess.Client; using System; using System.Collections.Generic; using System.Data; using System.Security.Cryptography; namespace UAS_Tools_HY.PublicMethods { internal class ConnectDB { private static readonly string ConnectionString = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.1.81.208)(PORT=11687))(CONNECT_DATA=(SERVICE_NAME=orcl)));User Id=N_MES_HY;Password=select!#%*(;"; public static bool TestConnection() { try { using (OracleConnection connection = new OracleConnection(ConnectionString)) { connection.Open(); return true; } } catch (Exception ex) { throw new Exception($"数据库连接测试失败: {ex.Message}"); } } public static DataTable ExecuteSelect(string sqlQuery, Dictionary parameters = null) { DataTable dataTable = new DataTable(); try { using (OracleConnection connection = new OracleConnection(ConnectionString)) { connection.Open(); using (OracleCommand command = new OracleCommand(sqlQuery, connection)) { if (parameters != null && parameters.Count > 0) { foreach (var param in parameters) { command.Parameters.Add(new OracleParameter(param.Key, param.Value ?? DBNull.Value)); } } using (OracleDataAdapter adapter = new OracleDataAdapter(command)) { adapter.Fill(dataTable); } } } } catch (Exception ex) { throw new Exception(ex.Message); } return dataTable; } public static int ExecuteInsert(string sqlQuery, Dictionary parameters = null) { try { using (OracleConnection connection = new OracleConnection(ConnectionString)) { connection.Open(); using (OracleCommand command = new OracleCommand(sqlQuery, connection)) { if (parameters != null && parameters.Count > 0) { foreach (var param in parameters) { command.Parameters.Add(new OracleParameter(param.Key, param.Value ?? DBNull.Value)); } } return command.ExecuteNonQuery(); } } } catch (Exception ex) { throw new Exception(ex.Message); } } public static int ExecuteUpdate(string sqlQuery, Dictionary parameters = null) { try { using (OracleConnection connection = new OracleConnection(ConnectionString)) { connection.Open(); using (OracleCommand command = new OracleCommand(sqlQuery, connection)) { if (parameters != null && parameters.Count > 0) { foreach (var param in parameters) { command.Parameters.Add(new OracleParameter(param.Key, param.Value ?? DBNull.Value)); } } return command.ExecuteNonQuery(); } } } catch (Exception ex) { throw new Exception(ex.Message); } } public static int ExecuteDelete(string sqlQuery, Dictionary parameters = null) { try { using (OracleConnection connection = new OracleConnection(ConnectionString)) { connection.Open(); using (OracleCommand command = new OracleCommand(sqlQuery, connection)) { if (parameters != null && parameters.Count > 0) { foreach (var param in parameters) { command.Parameters.Add(new OracleParameter(param.Key, param.Value ?? DBNull.Value)); } } return command.ExecuteNonQuery(); } } } catch (Exception ex) { throw new Exception(ex.Message); } } } }