C#工具类(一):使用ADO.Net封装OracleHelper

作者:陆金龙    发表时间:2015-05-12 00:11   


Oracle版本的SqlHelper,只提供基本的用法参考。

更多更详细请参考:C#工具类(一):使用ADO.Net封装SqlHelper

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.OracleClient;
using System.Configuration;
using System.Data;


namespace Kinglong.App.Tools
{
    /// 
    /// OracleHelper 的摘要说明
    /// 
    public class OracleHelper
    {
        static string connStr = ConfigurationManager.ConnectionStrings["oraclConnStr"].ConnectionString;
        
        /// 
        /// 非查询操作
        /// 
        public static int ExcuteNonQuery(string connStr, string cmdText, CommandType type, params OracleParameter[] parameters)
        {
            OracleString str;
            using (OracleConnection conn = new OracleConnection(connStr))
            {
                using (OracleCommand cmd = new OracleCommand(cmdText, conn))
                {
                    cmd.CommandType = type;
                    foreach (OracleParameter para in parameters)
                    {
                        cmd.Parameters.Add(para);
                    }
                    conn.Open();
                    //return cmd.ExecuteNonQuery();
                    return cmd.ExecuteOracleNonQuery(out str);
                }
            }
        }

        /// 
        /// 单行单列查询
        /// 
        public static object ExecuteScalar(string connStr, string cmdText, CommandType type, params OracleParameter[] parameters)
        {
            using (OracleConnection conn = new OracleConnection(connStr))
            {
                using (OracleCommand cmd = new OracleCommand(cmdText, conn))
                {
                    cmd.CommandType = type;
                    if (parameters != null)
                    {
                        foreach (OracleParameter parameter in parameters)
                        {
                            cmd.Parameters.Add(parameter);
                        }
                    }

                    conn.Open();

                    return cmd.ExecuteScalar();
                }
            }

        }


        /// 
        /// 返回DataReader的查询
        /// 
        public static OracleDataReader ExecuteDataReader(string connStr, string cmdText, CommandType cmdType, params OracleParameter[] parameters)
        {
            OracleConnection conn = new OracleConnection(connStr);
            using (OracleCommand cmd = new OracleCommand(cmdText, conn))
            {
                cmd.CommandType = cmdType;

                if (parameters != null)
                {
                    foreach (OracleParameter parameter in parameters)
                    {
                        cmd.Parameters.Add(parameter);
                    }
                }
                conn.Open();
                return cmd.ExecuteReader(CommandBehavior.CloseConnection);//使用完毕DataReader后关闭数据库连接
            }
        }

        /// 
        /// 返回DataTable的查询
        /// 
        public static DataTable ExecuteDataTable(string connStr, string cmdText, params OracleParameter[] parameters)
        {
            using (OracleConnection conn = new OracleConnection(connStr))
            {
                using (OracleCommand cmd = new OracleCommand(cmdText, conn))
                {
                    if (parameters != null)
                    {
                        foreach (OracleParameter parameter in parameters)
                        {
                            cmd.Parameters.Add(parameter);
                        }
                    }
                    conn.Open();
                    DataSet ds = new DataSet();
                    OracleDataAdapter oda = new OracleDataAdapter(cmd);
                    oda.Fill(ds);
                    return ds.Tables[0];
                }
            }
        }
    }
}