oraclehelper

来源:互联网 发布:宿迁湖滨新区网络问政 编辑:程序博客网 时间:2024/05/21 03:18
using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Data.OracleClient;namespace Lee.Common{    public class OracleHelper    {        // 数据库连接字符串        public static string ConnectionString;        #region 执行带参数的SQL语句        /// <summary>        /// 执行SQL语句,返回影响的记录条数(update, delete)        /// </summary>        /// <param name="SQLString">SQL语句</param>        /// <param name="cmdParam">参数</param>        /// <returns>影响的记录条数</returns>        public static int ExecuteSQL(string SQLString, params OracleParameter[] cmdParam)        {            using (OracleConnection connection = new OracleConnection(ConnectionString))            {                using (OracleCommand command = new OracleCommand())                {                    try                    {                        PrepareCommand(command, connection, null, SQLString, cmdParam);                        int rows = command.ExecuteNonQuery(); //执行SQL语句                        command.Parameters.Clear();                        return rows;                    }                    catch (OracleException ex)                    {                        throw ex;                    }                }            }        }        /// <summary>        /// 执行SQL语句,返回查询结果(object)        /// </summary>        /// <param name="SQLString">SQL语句</param>        /// <param name="cmdParam">参数</param>        /// <returns>查询结果(object)</returns>        public static object GetSingleObject(string SQLString, params OracleParameter[] cmdParam)        {            using (OracleConnection connection = new OracleConnection(ConnectionString))            {                using (OracleCommand command = new OracleCommand())                {                    try                    {                        PrepareCommand(command, connection, null, SQLString, cmdParam);                        object obj = command.ExecuteScalar();                        command.Parameters.Clear();                        if ((Object.Equals(obj, null)) || (object.Equals(obj, System.DBNull.Value)))                        {                            return null;                        }                        else                        {                            return obj;                        }                    }                    catch (OracleException ex)                    {                        throw ex;                    }                }            }        }        /// <summary>        /// 执行SQL语句,返回DataSet (select)        /// </summary>        /// <param name="SQLString"></param>        /// <param name="cmdParam"></param>        /// <returns></returns>        public static DataSet Query(string SQLString, params OracleParameter[] cmdParam)        {            using (OracleConnection connection = new OracleConnection(ConnectionString))            {                using (OracleCommand command = new OracleCommand())                {                    PrepareCommand(command, connection, null, SQLString, cmdParam);                    using (OracleDataAdapter adapter = new OracleDataAdapter(command))                    {                        DataSet ds = new DataSet();                        try                        {                            adapter.Fill(ds, "ds");                            command.Parameters.Clear();                        }                        catch (OracleException ex)                        {                            throw ex;                        }                        return ds;                    }                }            }        }        private static void PrepareCommand(OracleCommand command, OracleConnection connection, OracleTransaction trans, string cmdText, OracleParameter[] cmdParam)        {            if (connection.State != ConnectionState.Open)            {                connection.Open();            }            command.Connection = connection;            command.CommandText = cmdText;            command.CommandType = CommandType.Text;            if (trans != null)                command.Transaction = trans;            if (cmdParam != null)            {                foreach (OracleParameter param in cmdParam)                {                    command.Parameters.Add(param);                }            }        }                #endregion    }}