1 引用Oracle.DataAccess.dll

 

2 App.Config中配置连接字符串:

Data Source=(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
);User Id=scott;Password=XXXXX

 

3 建立操作数据库的类OracleHelper.cs 

 

public class OracleHelper
    {
        private static readonly string connStr = ConfigurationManager.ConnectionStrings["dbconnStr"].ConnectionString;

        //创建连接
        public static OracleConnection CreateConnection()
        {
            OracleConnection conn = new OracleConnection(connStr);
            conn.Open();
            return conn;
        }

        //使用已有连接 非查询
        public static int ExecuteNonQuery(OracleConnection conn, string sql, params OracleParameter[] parameters)
        {
            using (OracleCommand cmd = new OracleCommand(sql, conn))
            {
                cmd.Parameters.AddRange(parameters);
                return cmd.ExecuteNonQuery();
            }
        }


        //使用已有连接 非查询 带事务
        public static int ExecuteNonQuery(OracleConnection conn, OracleTransaction tx, string sql, params OracleParameter[] parameters)
        {
            using (OracleCommand cmd = new OracleCommand(sql, conn))
            {
                cmd.Transaction = tx;
                cmd.Parameters.AddRange(parameters);
                return cmd.ExecuteNonQuery();
            }
        }

        //自己创建连接 非查询
        public static int ExecuteNonQuery(string sql, params OracleParameter[] parameters)
        {
            using (OracleConnection conn = CreateConnection())
            {
                return ExecuteNonQuery(conn, sql, parameters);
            }
        }

        //使用已有连接 非查询 带存储过程(返回影响行数或输出参数)
        public static object ExecuteNonQueryProcedure(OracleConnection conn, string proName, params OracleParameter[] parameters)
        {
            using (OracleCommand cmd = new OracleCommand(proName, conn))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddRange(parameters);
                return cmd.ExecuteNonQuery();
            }
        }

        //自己创建连接 非查询 带存储过程(返回影响行数或输出参数)
        public static object ExecuteNonQueryProcedure(string proName, params OracleParameter[] parameters)
        {
            using (OracleConnection conn = CreateConnection())
            {
                return ExecuteNonQueryProcedure(conn, proName, parameters);
            }
        }

        //使用已有连接 单查询
        public static object ExecuteScalar(OracleConnection conn, string sql, params OracleParameter[] parameters)
        {
            using (OracleCommand cmd = new OracleCommand(sql, conn))
            {
                cmd.Parameters.AddRange(parameters);
                return cmd.ExecuteScalar();
            }
        }

        //自己创建连接 单查询
        public static object ExecuteScalar(string sql, params OracleParameter[] parameters)
        {
            using (OracleConnection conn = CreateConnection())
            {
                return ExecuteScalar(conn, sql, parameters);
            }
        }

        //使用已有连接 多查询
        public static DataTable ExecuteReader(OracleConnection conn, string sql, params OracleParameter[] parameters)
        {
            DataTable table = new DataTable();
            using (OracleCommand cmd = new OracleCommand(sql, conn))
            {
                cmd.Parameters.AddRange(parameters);
                OracleDataReader reader = cmd.ExecuteReader();
                table.Load(reader);
            }
            return table;
        }

        //自己创建连接 多查询
        public static DataTable ExecuteReader(string sql, params OracleParameter[] parameters)
        {
            using (OracleConnection conn = CreateConnection())
            {
                return ExecuteReader(conn, sql, parameters);
            }
        }
    }
OracleHelper.cs

相关文章:

  • 2021-12-09
  • 2021-04-10
  • 2021-08-16
  • 2021-07-26
  • 2021-11-20
  • 2021-06-15
  • 2022-01-01
猜你喜欢
  • 2022-12-23
  • 2021-05-22
  • 2021-09-21
  • 2022-02-25
  • 2021-08-17
  • 2022-01-16
  • 2021-07-06
相关资源
相似解决方案