• 操作Oracle 一条龙


    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

    4 带有自增触发器的插入:

    TM_USER(ID,NAME,Constraint PRI_TM_USER PRIMARY KEY(ID) )

    INSERT INTO TM_USER(NAME) VALUES ('NO id');

    INSERT INTO TM_USER(ID,NAME) VALUES (1, 'id no use');

    ID NAME
    ---------- --------------------
    1 NO id
    2 id no use

  • 相关阅读:
    用于图片处理的10个超级jQuery插件
    [VS2010].NET4.0环境下使用.NET2.0程序集,出现“混合模式程序集异常”
    对企业虚拟化应用的一些感受[原创]
    留学生不回国:中国物价超美国 没车没房没尊严!
    Research Assembly Setting!
    [转] 微软的软件测试方法(附读后感)
    应用 ZedGraph
    [转] LOGIGEAR SECURITY POLICIES
    一道程序运行结果题
    VS05 与 VS08并存时编译出现 The binding handle is invalid.
  • 原文地址:https://www.cnblogs.com/adolphyang/p/4991135.html
Copyright © 2020-2023  润新知