OracleSlowXDataBaseHelper Oracle数据库操作相关方法

2015-09-04 13:20:45  访问(1398) 赞(0) 踩(0)

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OracleClient;
using System.Text;

namespace SlowX.DataBaseHelper
{
    /// <summary>
    /// Oracle数据库操作相关方法
    /// </summary>
    public class OracleSlowXDataBaseHelper
    {

        /// <summary>
        /// 数据库链接串
        /// </summary>
        public readonly static string dataBaseConnectionString = System.Configuration.ConfigurationManager.AppSettings["SlowX.DataBaseHelper.dataBaseConnectionString"];

        /// <summary>
        /// 查询的表格名
        /// </summary>
        public const string srcTableName = "SelectDataTable";

        #region 获得数据集 ExecuteDataSet

        /// <summary>
        /// 获得数据集
        /// </summary>
        /// <param name="_SQL"></param>
        /// <returns></returns>
        public static DataSet ExecuteDataSet
            (
                string _SQL
            )
        {
            OracleConnection cn = null;

            OracleCommand cmd = null;

            OracleDataAdapter da = null;

            DataSet theResult = null;

            try
            {
                cn = new OracleConnection(dataBaseConnectionString);
                cn.Open();

                cmd = new OracleCommand();
                cmd.Connection = cn;
                cmd.CommandText = _SQL;
                cmd.CommandType = CommandType.Text;

                da = new OracleDataAdapter(cmd);
                theResult = new DataSet();


                da.Fill(theResult, srcTableName);

            }
            catch (Exception err)
            {
                throw err;
            }
            finally
            {
                if (da != null)
                {
                    da.Dispose();
                    da = null;
                }

                if (cmd != null)
                {
                    cmd.Parameters.Clear();
                    cmd.Dispose();
                    cmd = null;
                }

                if (cn != null)
                {
                    if (cn.State != ConnectionState.Closed)
                        cn.Close();

                    cn.Dispose();
                    cn = null;
                }
            }

            return theResult;
        }

        /// <summary>
        /// 获得数据集
        /// </summary>
        /// <param name="_SQL"></param>
        /// <param name="theList"></param>
        /// <returns></returns>
        public static DataSet ExecuteDataSet
            (
                string _SQL,
                List<OracleParameter> theList
            )
        {
            OracleConnection cn = null;

            OracleCommand cmd = null;

            OracleDataAdapter da = null;

            DataSet theResult = null;

            try
            {
                cn = new OracleConnection(dataBaseConnectionString);
                cn.Open();

                cmd = new OracleCommand();
                cmd.Connection = cn;
                cmd.CommandText = _SQL;
                cmd.CommandType = CommandType.Text;

                if (theList != null)
                {
                    foreach (OracleParameter p in theList)
                    {
                        if (p == null)
                            continue;

                        cmd.Parameters.Add(p);
                    }
                }

                da = new OracleDataAdapter(cmd);

                theResult = new DataSet();


                da.Fill(theResult, srcTableName);

            }
            catch (Exception err)
            {
                throw err;
            }
            finally
            {
                if (da != null)
                {
                    da.Dispose();
                    da = null;
                }

                if (cmd != null)
                {
                    cmd.Parameters.Clear();
                    cmd.Dispose();
                    cmd = null;
                }

                if (cn != null)
                {
                    if (cn.State != ConnectionState.Closed)
                        cn.Close();

                    cn.Dispose();
                    cn = null;
                }
            }

            return theResult;
        }

        /// <summary>
        /// 获得数据集
        /// </summary>
        /// <param name="_dbConnectionString"></param>
        /// <param name="_SQL"></param>
        /// <returns></returns>
        public static DataSet ExecuteDataSet
            (
                string _dbConnectionString,
                string _SQL
            )
        {
            OracleConnection cn = null;

            OracleCommand cmd = null;

            OracleDataAdapter da = null;

            DataSet theResult = null;

            try
            {
                cn = new OracleConnection(_dbConnectionString);
                cn.Open();

                cmd = new OracleCommand();
                cmd.Connection = cn;
                cmd.CommandText = _SQL;
                cmd.CommandType = CommandType.Text;

                da = new OracleDataAdapter(cmd);
                theResult = new DataSet();


                da.Fill(theResult, srcTableName);

            }
            catch (Exception err)
            {
                throw err;
            }
            finally
            {
                if (da != null)
                {
                    da.Dispose();
                    da = null;
                }

                if (cmd != null)
                {
                    cmd.Parameters.Clear();
                    cmd.Dispose();
                    cmd = null;
                }

                if (cn != null)
                {
                    if (cn.State != ConnectionState.Closed)
                        cn.Close();

                    cn.Dispose();
                    cn = null;
                }
            }

            return theResult;
        }

        /// <summary>
        /// 获得数据集
        /// </summary>
        /// <param name="_dbConnectionString"></param>
        /// <param name="_SQL"></param>
        /// <param name="theList"></param>
        /// <returns></returns>
        public static DataSet ExecuteDataSet
            (
                string _dbConnectionString,
                string _SQL,
                List<OracleParameter> theList
            )
        {
            OracleConnection cn = null;

            OracleCommand cmd = null;

            OracleDataAdapter da = null;

            DataSet theResult = null;

            try
            {
                cn = new OracleConnection(_dbConnectionString);
                cn.Open();

                cmd = new OracleCommand();
                cmd.Connection = cn;
                cmd.CommandText = _SQL;
                cmd.CommandType = CommandType.Text;

                if (theList != null)
                {
                    foreach (OracleParameter p in theList)
                    {
                        if (p == null)
                            continue;

                        cmd.Parameters.Add(p);
                    }
                }

                da = new OracleDataAdapter(cmd);

                theResult = new DataSet();


                da.Fill(theResult, srcTableName);

            }
            catch (Exception err)
            {
                throw err;
            }
            finally
            {
                if (da != null)
                {
                    da.Dispose();
                    da = null;
                }

                if (cmd != null)
                {
                    cmd.Parameters.Clear();
                    cmd.Dispose();
                    cmd = null;
                }

                if (cn != null)
                {
                    if (cn.State != ConnectionState.Closed)
                        cn.Close();

                    cn.Dispose();
                    cn = null;
                }
            }

            return theResult;
        }


        /// <summary>
        /// 获得数据集
        /// </summary>
        /// <param name="cn"></param>
        /// <param name="_SQL"></param>
        /// <returns></returns>
        public static DataSet ExecuteDataSet
            (
                OracleConnection cn,
                string _SQL
            )
        {
            if (cn == null)
                throw new Exception("OracleConnection cn为null。");

            bool needOpen = false;

            OracleCommand cmd = null;

            OracleDataAdapter da = null;

            DataSet theResult = null;

            try
            {
                if (cn.State != ConnectionState.Open)
                {
                    cn.Open();
                    needOpen = true;
                }

                cmd = new OracleCommand();
                cmd.Connection = cn;
                cmd.CommandText = _SQL;
                cmd.CommandType = CommandType.Text;

                da = new OracleDataAdapter(cmd);
                theResult = new DataSet();


                da.Fill(theResult, srcTableName);

            }
            catch (Exception err)
            {
                throw err;
            }
            finally
            {
                if (da != null)
                {
                    da.Dispose();
                    da = null;
                }

                if (cmd != null)
                {
                    cmd.Parameters.Clear();
                    cmd.Dispose();
                    cmd = null;
                }

                if (needOpen)
                {
                    if (cn != null)
                    {
                        if (cn.State != ConnectionState.Closed)
                            cn.Close();
                    }
                }
            }

            return theResult;
        }

        /// <summary>
        /// 获得数据集
        /// </summary>
        /// <param name="cn"></param>
        /// <param name="_SQL"></param>
        /// <param name="theList"></param>
        /// <returns></returns>
        public static DataSet ExecuteDataSet
            (
                OracleConnection cn,
                string _SQL,
                List<OracleParameter> theList
            )
        {
            if (cn == null)
                throw new Exception("OracleConnection cn为null。");

            bool needOpen = false;

            OracleCommand cmd = null;

            OracleDataAdapter da = null;

            DataSet theResult = null;

            try
            {
                if (cn.State != ConnectionState.Open)
                {
                    cn.Open();
                    needOpen = true;
                }

                cmd = new OracleCommand();
                cmd.Connection = cn;
                cmd.CommandText = _SQL;
                cmd.CommandType = CommandType.Text;

                if (theList != null)
                {
                    foreach (OracleParameter p in theList)
                    {
                        if (p == null)
                            continue;

                        cmd.Parameters.Add(p);
                    }
                }

                da = new OracleDataAdapter(cmd);

                theResult = new DataSet();


                da.Fill(theResult, srcTableName);

            }
            catch (Exception err)
            {
                throw err;
            }
            finally
            {
                if (da != null)
                {
                    da.Dispose();
                    da = null;
                }

                if (cmd != null)
                {
                    cmd.Parameters.Clear();
                    cmd.Dispose();
                    cmd = null;
                }

                if (needOpen)
                {
                    if (cn != null)
                    {
                        if (cn.State != ConnectionState.Closed)
                            cn.Close();
                    }
                }
            }

            return theResult;
        }


        /// <summary>
        /// 获得数据集
        /// </summary>
        /// <param name="tran"></param>
        /// <param name="_SQL"></param>
        /// <returns></returns>
        public static DataSet ExecuteDataSet
            (
                OracleTransaction tran,
                string _SQL
            )
        {
            if (tran == null)
                throw new Exception("OracleTransaction tran为null。");

            OracleConnection cn = tran.Connection;

            if (cn == null)
                throw new Exception("OracleConnection cn为null。");

            bool needOpen = false;

            OracleCommand cmd = null;

            OracleDataAdapter da = null;

            DataSet theResult = null;

            try
            {
                if (cn.State != ConnectionState.Open)
                {
                    cn.Open();
                    needOpen = true;
                }

                cmd = new OracleCommand();
                cmd.Connection = cn;
                cmd.CommandText = _SQL;
                cmd.CommandType = CommandType.Text;

                da = new OracleDataAdapter(cmd);
                theResult = new DataSet();


                da.Fill(theResult, srcTableName);

            }
            catch (Exception err)
            {
                throw err;
            }
            finally
            {
                if (da != null)
                {
                    da.Dispose();
                    da = null;
                }

                if (cmd != null)
                {
                    cmd.Parameters.Clear();
                    cmd.Dispose();
                    cmd = null;
                }

                if (needOpen)
                {
                    if (cn != null)
                    {
                        if (cn.State != ConnectionState.Closed)
                            cn.Close();
                    }
                }
            }

            return theResult;
        }

        /// <summary>
        /// 获得数据集
        /// </summary>
        /// <param name="tran"></param>
        /// <param name="_SQL"></param>
        /// <param name="theList"></param>
        /// <returns></returns>
        public static DataSet ExecuteDataSet
            (
                OracleTransaction tran,
                string _SQL,
                List<OracleParameter> theList
            )
        {
            if (tran == null)
                throw new Exception("OracleTransaction tran为null。");

            OracleConnection cn = tran.Connection;

            if (cn == null)
                throw new Exception("OracleConnection cn为null。");

            bool needOpen = false;

            OracleCommand cmd = null;

            OracleDataAdapter da = null;

            DataSet theResult = null;

            try
            {
                if (cn.State != ConnectionState.Open)
                {
                    cn.Open();
                    needOpen = true;
                }

                cmd = new OracleCommand();
                cmd.Connection = cn;
                cmd.CommandText = _SQL;
                cmd.CommandType = CommandType.Text;

                if (theList != null)
                {
                    foreach (OracleParameter p in theList)
                    {
                        if (p == null)
                            continue;

                        cmd.Parameters.Add(p);
                    }
                }

                da = new OracleDataAdapter(cmd);

                theResult = new DataSet();


                da.Fill(theResult, srcTableName);

            }
            catch (Exception err)
            {
                throw err;
            }
            finally
            {
                if (da != null)
                {
                    da.Dispose();
                    da = null;
                }

                if (cmd != null)
                {
                    cmd.Parameters.Clear();
                    cmd.Dispose();
                    cmd = null;
                }

                if (needOpen)
                {
                    if (cn != null)
                    {
                        if (cn.State != ConnectionState.Closed)
                            cn.Close();
                    }
                }
            }

            return theResult;
        }

        #endregion  获得数据集 ExecuteDataSet

        #region 执行SQL语句,返回影响记录数

        /// <summary>
        /// 执行SQL语句,返回影响记录数
        /// </summary>
        /// <param name="_dbConnectionString"></param>
        /// <param name="_SQL"></param>
        /// <returns></returns>
        public static int ExecuteNonQuery
            (
                string _SQL
            )
        {
            OracleConnection cn = null;

            OracleCommand cmd = null;

            int theResult = -1;

            try
            {
                cn = new OracleConnection(dataBaseConnectionString);
                cn.Open();

                cmd = new OracleCommand();
                cmd.Connection = cn;
                cmd.CommandText = _SQL;
                cmd.CommandType = CommandType.Text;

                theResult = cmd.ExecuteNonQuery();

            }
            catch (Exception err)
            {
                throw err;
            }
            finally
            {

                if (cmd != null)
                {
                    cmd.Parameters.Clear();
                    cmd.Dispose();
                    cmd = null;
                }

                if (cn != null)
                {
                    if (cn.State != ConnectionState.Closed)
                        cn.Close();

                    cn.Dispose();
                    cn = null;
                }
            }

            return theResult;
        }

        /// <summary>
        /// 执行SQL语句,返回影响记录数
        /// </summary>
        /// <param name="_dbConnectionString"></param>
        /// <param name="_SQL"></param>
        /// <param name="theList"></param>
        /// <returns></returns>
        public static int ExecuteNonQuery
            (
                string _SQL,
                List<OracleParameter> theList
            )
        {
            OracleConnection cn = null;

            OracleCommand cmd = null;

            int theResult = -1;

            try
            {
                cn = new OracleConnection(dataBaseConnectionString);
                cn.Open();

                cmd = new OracleCommand();
                cmd.Connection = cn;
                cmd.CommandText = _SQL;
                cmd.CommandType = CommandType.Text;

                if (theList != null)
                {
                    foreach (OracleParameter p in theList)
                    {
                        if (p == null)
                            continue;

                        cmd.Parameters.Add(p);
                    }
                }

                theResult = cmd.ExecuteNonQuery();

            }
            catch (Exception err)
            {
                throw err;
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Parameters.Clear();
                    cmd.Dispose();
                    cmd = null;
                }

                if (cn != null)
                {
                    if (cn.State != ConnectionState.Closed)
                        cn.Close();

                    cn.Dispose();
                    cn = null;
                }
            }

            return theResult;
        }

        /// <summary>
        /// 执行SQL语句,返回影响记录数
        /// </summary>
        /// <param name="_dbConnectionString"></param>
        /// <param name="_SQL"></param>
        /// <returns></returns>
        public static int ExecuteNonQuery
            (
                string _dbConnectionString,
                string _SQL
            )
        {
            OracleConnection cn = null;

            OracleCommand cmd = null;

            int theResult = -1;

            try
            {
                cn = new OracleConnection(_dbConnectionString);
                cn.Open();

                cmd = new OracleCommand();
                cmd.Connection = cn;
                cmd.CommandText = _SQL;
                cmd.CommandType = CommandType.Text;

                theResult = cmd.ExecuteNonQuery();

            }
            catch (Exception err)
            {
                throw err;
            }
            finally
            {

                if (cmd != null)
                {
                    cmd.Parameters.Clear();
                    cmd.Dispose();
                    cmd = null;
                }

                if (cn != null)
                {
                    if (cn.State != ConnectionState.Closed)
                        cn.Close();

                    cn.Dispose();
                    cn = null;
                }
            }

            return theResult;
        }

        /// <summary>
        /// 执行SQL语句,返回影响记录数
        /// </summary>
        /// <param name="_dbConnectionString"></param>
        /// <param name="_SQL"></param>
        /// <param name="theList"></param>
        /// <returns></returns>
        public static int ExecuteNonQuery
            (
                string _dbConnectionString,
                string _SQL,
                List<OracleParameter> theList
            )
        {
            OracleConnection cn = null;

            OracleCommand cmd = null;

            int theResult = -1;

            try
            {
                cn = new OracleConnection(_dbConnectionString);
                cn.Open();

                cmd = new OracleCommand();
                cmd.Connection = cn;
                cmd.CommandText = _SQL;
                cmd.CommandType = CommandType.Text;

                if (theList != null)
                {
                    foreach (OracleParameter p in theList)
                    {
                        if (p == null)
                            continue;

                        cmd.Parameters.Add(p);
                    }
                }

                theResult = cmd.ExecuteNonQuery();

            }
            catch (Exception err)
            {
                throw err;
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Parameters.Clear();
                    cmd.Dispose();
                    cmd = null;
                }

                if (cn != null)
                {
                    if (cn.State != ConnectionState.Closed)
                        cn.Close();

                    cn.Dispose();
                    cn = null;
                }
            }

            return theResult;
        }

        /// <summary>
        /// 执行SQL语句,返回影响记录数
        /// </summary>
        /// <param name="cn"></param>
        /// <param name="_SQL"></param>
        /// <returns></returns>
        public static int ExecuteNonQuery
            (
                OracleConnection cn,
                string _SQL
            )
        {
            if (cn == null)
                throw new Exception("OracleConnection cn为null。");

            bool needOpen = false;

            OracleCommand cmd = null;

            int theResult = -1;

            try
            {
                if (cn.State != ConnectionState.Open)
                {
                    cn.Open();
                    needOpen = true;
                }

                cmd = new OracleCommand();
                cmd.Connection = cn;
                cmd.CommandText = _SQL;
                cmd.CommandType = CommandType.Text;

                theResult = cmd.ExecuteNonQuery();

            }
            catch (Exception err)
            {
                throw err;
            }
            finally
            {

                if (cmd != null)
                {
                    cmd.Parameters.Clear();
                    cmd.Dispose();
                    cmd = null;
                }

                if (needOpen)
                {
                    if (cn != null)
                    {
                        if (cn.State != ConnectionState.Closed)
                            cn.Close();
                    }
                }
            }

            return theResult;
        }

        /// <summary>
        /// 执行SQL语句,返回影响记录数
        /// </summary>
        /// <param name="cn"></param>
        /// <param name="_SQL"></param>
        /// <param name="theList"></param>
        /// <returns></returns>
        public static int ExecuteNonQuery
            (
                OracleConnection cn,
                string _SQL,
                List<OracleParameter> theList
            )
        {
            if (cn == null)
                throw new Exception("OracleConnection cn为null。");

            bool needOpen = false;

            OracleCommand cmd = null;

            int theResult = -1;

            try
            {
                if (cn.State != ConnectionState.Open)
                {
                    cn.Open();
                    needOpen = true;
                }

                cmd = new OracleCommand();
                cmd.Connection = cn;
                cmd.CommandText = _SQL;
                cmd.CommandType = CommandType.Text;

                if (theList != null)
                {
                    foreach (OracleParameter p in theList)
                    {
                        if (p == null)
                            continue;

                        cmd.Parameters.Add(p);
                    }
                }

                theResult = cmd.ExecuteNonQuery();

            }
            catch (Exception err)
            {
                throw err;
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Parameters.Clear();
                    cmd.Dispose();
                    cmd = null;
                }

                if (needOpen)
                {
                    if (cn != null)
                    {
                        if (cn.State != ConnectionState.Closed)
                            cn.Close();
                    }
                }
            }

            return theResult;
        }

        /// <summary>
        /// 执行SQL语句,返回影响记录数
        /// </summary>
        /// <param name="tran"></param>
        /// <param name="_SQL"></param>
        /// <returns></returns>
        public static int ExecuteNonQuery
            (
                OracleTransaction tran,
                string _SQL
            )
        {
            if (tran == null)
                throw new Exception("OracleTransaction tran为null。");

            OracleConnection cn = tran.Connection;

            if (cn == null)
                throw new Exception("OracleConnection cn为null。");

            bool needOpen = false;

            OracleCommand cmd = null;

            int theResult = -1;

            try
            {
                if (cn.State != ConnectionState.Open)
                {
                    cn.Open();
                    needOpen = true;
                }

                cmd = new OracleCommand();
                cmd.Connection = cn;
                cmd.CommandText = _SQL;
                cmd.CommandType = CommandType.Text;

                theResult = cmd.ExecuteNonQuery();

            }
            catch (Exception err)
            {
                throw err;
            }
            finally
            {

                if (cmd != null)
                {
                    cmd.Parameters.Clear();
                    cmd.Dispose();
                    cmd = null;
                }

                if (needOpen)
                {
                    if (cn != null)
                    {
                        if (cn.State != ConnectionState.Closed)
                            cn.Close();
                    }
                }
            }

            return theResult;
        }

        /// <summary>
        /// 执行SQL语句,返回影响记录数
        /// </summary>
        /// <param name="tran"></param>
        /// <param name="_SQL"></param>
        /// <param name="theList"></param>
        /// <returns></returns>
        public static int ExecuteNonQuery
            (
                OracleTransaction tran,
                string _SQL,
                List<OracleParameter> theList
            )
        {
            if (tran == null)
                throw new Exception("OracleTransaction tran为null。");

            OracleConnection cn = tran.Connection;

            if (cn == null)
                throw new Exception("OracleConnection cn为null。");

            bool needOpen = false;

            OracleCommand cmd = null;

            int theResult = -1;

            try
            {
                if (cn.State != ConnectionState.Open)
                {
                    cn.Open();
                    needOpen = true;
                }

                cmd = new OracleCommand();
                cmd.Connection = cn;
                cmd.CommandText = _SQL;
                cmd.CommandType = CommandType.Text;

                if (theList != null)
                {
                    foreach (OracleParameter p in theList)
                    {
                        if (p == null)
                            continue;

                        cmd.Parameters.Add(p);
                    }
                }

                theResult = cmd.ExecuteNonQuery();

            }
            catch (Exception err)
            {
                throw err;
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Parameters.Clear();
                    cmd.Dispose();
                    cmd = null;
                }

                if (needOpen)
                {
                    if (cn != null)
                    {
                        if (cn.State != ConnectionState.Closed)
                            cn.Close();
                    }
                }
            }

            return theResult;
        }


        #endregion 执行SQL语句,返回影响记录数

        #region 执行SQL语句,获得一个记录

        /// <summary>
        /// 执行SQL语句,获得一个记录
        /// </summary>
        /// <param name="_SQL"></param>
        /// <returns></returns>
        public static object ExecuteScalar
            (
                string _SQL
            )
        {
            OracleConnection cn = null;

            OracleCommand cmd = null;

            object theResult = null;

            try
            {
                cn = new OracleConnection(dataBaseConnectionString);
                cn.Open();

                cmd = new OracleCommand();
                cmd.Connection = cn;
                cmd.CommandText = _SQL;
                cmd.CommandType = CommandType.Text;

                theResult = cmd.ExecuteScalar();

            }
            catch (Exception err)
            {
                throw err;
            }
            finally
            {

                if (cmd != null)
                {
                    cmd.Parameters.Clear();
                    cmd.Dispose();
                    cmd = null;
                }

                if (cn != null)
                {
                    if (cn.State != ConnectionState.Closed)
                        cn.Close();

                    cn.Dispose();
                    cn = null;
                }
            }

            return theResult;
        }

        /// <summary>
        /// 执行SQL语句,获得一个记录
        /// </summary>
        /// <param name="_SQL"></param>
        /// <param name="theList"></param>
        /// <returns></returns>
        public static object ExecuteScalar
            (
                string _SQL,
                List<OracleParameter> theList
            )
        {
            OracleConnection cn = null;

            OracleCommand cmd = null;

            object theResult = null;

            try
            {
                cn = new OracleConnection(dataBaseConnectionString);
                cn.Open();

                cmd = new OracleCommand();
                cmd.Connection = cn;
                cmd.CommandText = _SQL;
                cmd.CommandType = CommandType.Text;

                if (theList != null)
                {
                    foreach (OracleParameter p in theList)
                    {
                        if (p == null)
                            continue;

                        cmd.Parameters.Add(p);
                    }
                }

                theResult = cmd.ExecuteScalar();

            }
            catch (Exception err)
            {
                throw err;
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Parameters.Clear();
                    cmd.Dispose();
                    cmd = null;
                }

                if (cn != null)
                {
                    if (cn.State != ConnectionState.Closed)
                        cn.Close();

                    cn.Dispose();
                    cn = null;
                }
            }

            return theResult;
        }

        /// <summary>
        /// 执行SQL语句,获得一个记录
        /// </summary>
        /// <param name="_dbConnectionString"></param>
        /// <param name="_SQL"></param>
        /// <returns></returns>
        public static object ExecuteScalar
            (
                string _dbConnectionString,
                string _SQL
            )
        {
            OracleConnection cn = null;

            OracleCommand cmd = null;

            object theResult = null;

            try
            {
                cn = new OracleConnection(_dbConnectionString);
                cn.Open();

                cmd = new OracleCommand();
                cmd.Connection = cn;
                cmd.CommandText = _SQL;
                cmd.CommandType = CommandType.Text;

                theResult = cmd.ExecuteScalar();

            }
            catch (Exception err)
            {
                throw err;
            }
            finally
            {

                if (cmd != null)
                {
                    cmd.Parameters.Clear();
                    cmd.Dispose();
                    cmd = null;
                }

                if (cn != null)
                {
                    if (cn.State != ConnectionState.Closed)
                        cn.Close();

                    cn.Dispose();
                    cn = null;
                }
            }

            return theResult;
        }

        /// <summary>
        /// 执行SQL语句,获得一个记录
        /// </summary>
        /// <param name="_dbConnectionString"></param>
        /// <param name="_SQL"></param>
        /// <param name="theList"></param>
        /// <returns></returns>
        public static object ExecuteScalar
            (
                string _dbConnectionString,
                string _SQL,
                List<OracleParameter> theList
            )
        {
            OracleConnection cn = null;

            OracleCommand cmd = null;

            object theResult = null;

            try
            {
                cn = new OracleConnection(_dbConnectionString);
                cn.Open();

                cmd = new OracleCommand();
                cmd.Connection = cn;
                cmd.CommandText = _SQL;
                cmd.CommandType = CommandType.Text;

                if (theList != null)
                {
                    foreach (OracleParameter p in theList)
                    {
                        if (p == null)
                            continue;

                        cmd.Parameters.Add(p);
                    }
                }

                theResult = cmd.ExecuteScalar();

            }
            catch (Exception err)
            {
                throw err;
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Parameters.Clear();
                    cmd.Dispose();
                    cmd = null;
                }

                if (cn != null)
                {
                    if (cn.State != ConnectionState.Closed)
                        cn.Close();

                    cn.Dispose();
                    cn = null;
                }
            }

            return theResult;
        }

        /// <summary>
        /// 执行SQL语句,获得一个记录
        /// </summary>
        /// <param name="cn"></param>
        /// <param name="_SQL"></param>
        /// <returns></returns>
        public static object ExecuteScalar
            (
                OracleConnection cn,
                string _SQL
            )
        {
            if (cn == null)
                throw new Exception("OracleConnection cn为null。");

            bool needOpen = false;

            OracleCommand cmd = null;

            object theResult = null;

            try
            {
                if (cn.State != ConnectionState.Open)
                {
                    cn.Open();
                    needOpen = true;
                }

                cmd = new OracleCommand();
                cmd.Connection = cn;
                cmd.CommandText = _SQL;
                cmd.CommandType = CommandType.Text;

                theResult = cmd.ExecuteScalar();

            }
            catch (Exception err)
            {
                throw err;
            }
            finally
            {

                if (cmd != null)
                {
                    cmd.Parameters.Clear();
                    cmd.Dispose();
                    cmd = null;
                }

                if (needOpen)
                {
                    if (cn != null)
                    {
                        if (cn.State != ConnectionState.Closed)
                            cn.Close();
                    }
                }
            }

            return theResult;
        }

        /// <summary>
        /// 执行SQL语句,获得一个记录
        /// </summary>
        /// <param name="cn"></param>
        /// <param name="_SQL"></param>
        /// <param name="theList"></param>
        /// <returns></returns>
        public static object ExecuteScalar
            (
                OracleConnection cn,
                string _SQL,
                List<OracleParameter> theList
            )
        {
            if (cn == null)
                throw new Exception("OracleConnection cn为null。");

            bool needOpen = false;

            OracleCommand cmd = null;

            object theResult = null;

            try
            {
                if (cn.State != ConnectionState.Open)
                {
                    cn.Open();
                    needOpen = true;
                }

                cmd = new OracleCommand();
                cmd.Connection = cn;
                cmd.CommandText = _SQL;
                cmd.CommandType = CommandType.Text;

                if (theList != null)
                {
                    foreach (OracleParameter p in theList)
                    {
                        if (p == null)
                            continue;

                        cmd.Parameters.Add(p);
                    }
                }

                theResult = cmd.ExecuteScalar();

            }
            catch (Exception err)
            {
                throw err;
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Parameters.Clear();
                    cmd.Dispose();
                    cmd = null;
                }

                if (needOpen)
                {
                    if (cn != null)
                    {
                        if (cn.State != ConnectionState.Closed)
                            cn.Close();
                    }
                }
            }

            return theResult;
        }

        /// <summary>
        /// 执行SQL语句,获得一个记录
        /// </summary>
        /// <param name="tran"></param>
        /// <param name="_SQL"></param>
        /// <returns></returns>
        public static object ExecuteScalar
            (
                OracleTransaction tran,
                string _SQL
            )
        {
            if (tran == null)
                throw new Exception("OracleTransaction tran为null。");

            OracleConnection cn = tran.Connection;

            if (cn == null)
                throw new Exception("OracleConnection cn为null。");

            bool needOpen = false;

            OracleCommand cmd = null;

            object theResult = null;

            try
            {
                if (cn.State != ConnectionState.Open)
                {
                    cn.Open();
                    needOpen = true;
                }

                cmd = new OracleCommand();
                cmd.Connection = cn;
                cmd.CommandText = _SQL;
                cmd.CommandType = CommandType.Text;

                theResult = cmd.ExecuteScalar();

            }
            catch (Exception err)
            {
                throw err;
            }
            finally
            {

                if (cmd != null)
                {
                    cmd.Parameters.Clear();
                    cmd.Dispose();
                    cmd = null;
                }

                if (needOpen)
                {
                    if (cn != null)
                    {
                        if (cn.State != ConnectionState.Closed)
                            cn.Close();
                    }
                }
            }

            return theResult;
        }

        /// <summary>
        /// 执行SQL语句,获得一个记录
        /// </summary>
        /// <param name="tran"></param>
        /// <param name="_SQL"></param>
        /// <param name="theList"></param>
        /// <returns></returns>
        public static object ExecuteScalar
            (
                OracleTransaction tran,
                string _SQL,
                List<OracleParameter> theList
            )
        {
            if (tran == null)
                throw new Exception("OracleTransaction tran为null。");

            OracleConnection cn = tran.Connection;

            if (cn == null)
                throw new Exception("OracleConnection cn为null。");

            bool needOpen = false;

            OracleCommand cmd = null;

            object theResult = null;

            try
            {
                if (cn.State != ConnectionState.Open)
                {
                    cn.Open();
                    needOpen = true;
                }

                cmd = new OracleCommand();
                cmd.Connection = cn;
                cmd.CommandText = _SQL;
                cmd.CommandType = CommandType.Text;

                if (theList != null)
                {
                    foreach (OracleParameter p in theList)
                    {
                        if (p == null)
                            continue;

                        cmd.Parameters.Add(p);
                    }
                }

                theResult = cmd.ExecuteScalar();

            }
            catch (Exception err)
            {
                throw err;
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Parameters.Clear();
                    cmd.Dispose();
                    cmd = null;
                }

                if (needOpen)
                {
                    if (cn != null)
                    {
                        if (cn.State != ConnectionState.Closed)
                            cn.Close();
                    }
                }
            }

            return theResult;
        }


        #endregion 执行SQL语句,获得一个记录
    }
}


标签:OracleSlowXDataBaseHelper Oracle数据库操作相关方法 

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)
 
  ┈全部┈  
 
(显示默认分类)