C#執行OracleHelper


        /// <summary>
        /// 執行存儲過程獲取帶有Out的參數
        /// </summary>
        /// <param name="cmdText">存儲過程名稱</param>
        /// <param name="outParameters">輸出的參數名</param>
        /// <param name="oracleParameters">所傳參數(必須按照存儲過程參數順序)</param>
        /// <param name="strConn">鏈接字符串</param>
        /// <returns></returns>
        public static string ExecToStoredProcedureGetString(string cmdText, string outParameters, OracleParameter[] oracleParameters, string strConn)
        {
            using (OracleConnection conn = new OracleConnection(strConn))
            {
                //OracleParameter[] SqlParameters = {

                //    new OracleParameter("ZYH", OracleDbType.Varchar2,"",ParameterDirection.Input),
                //    new OracleParameter("YJJE", OracleDbType.Varchar2,100,"", ParameterDirection.Output)
                //};
                OracleCommand cmd = new OracleCommand(cmdText, conn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddRange(oracleParameters);
                conn.Open();
                cmd.ExecuteNonQuery();
                conn.Close();
                return cmd.Parameters[outParameters].Value.ToString();
            }
        }

        /// <summary>
        /// 執行存儲過程獲取帶有Out的游標數據集
        /// </summary>
        /// <param name="cmdText">存儲過程名稱</param>
        /// <param name="outParameters">輸出的游標名</param>
        /// <param name="oracleParameters">所傳參數(必須按照存儲過程參數順序)</param>
        /// <param name="strConn">鏈接字符串</param>
        /// <returns></returns>
        public static DataTable ExecToStoredProcedureGetTable(string storedProcedName, OracleParameter[] oracleParameters, string strConn)
        {
            using (OracleConnection conn = new OracleConnection(strConn))
            {
                OracleCommand cmd = new OracleCommand(storedProcedName, conn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddRange(oracleParameters);
                OracleDataAdapter oda = new OracleDataAdapter(cmd);
                conn.Open();
                DataSet ds = new DataSet();
                oda.Fill(ds);
                conn.Close();
                return ds.Tables[0];
            }
        }

        /// <summary>
        /// 執行存儲過程沒有返回值
        /// </summary>
        /// <param name="cmdText">存儲過程名稱</param>
        /// <param name="outParameters">參數</param>
        /// <param name="oracleParameters">所傳參數(必須按照存儲過程參數順序)</param>
        /// <param name="strConn">鏈接字符串</param>
        /// <returns></returns>
        public static void ExecToStoredProcedure(string cmdText, OracleParameter[] oracleParameters, string strConn)
        {
            using (OracleConnection conn = new OracleConnection(strConn))
            {
                OracleCommand cmd = new OracleCommand(cmdText, conn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddRange(oracleParameters);
                conn.Open();
                cmd.ExecuteNonQuery();
                conn.Close();
            }
        }

        /// <summary>
        /// 執行sql獲取數據集
        /// </summary>
        /// <param name="cmdText">sql語句</param>
        /// <param name="oracleParameters">所傳參數(必須按照存儲過程參數順序)</param>
        /// <param name="strConn">鏈接字符串</param>
        /// <returns></returns>
        public static DataTable ExecToSqlGetTable(string cmdText, OracleParameter[] oracleParameters, string strConn)
        {
            using (OracleConnection conn = new OracleConnection(strConn))
            {
                OracleCommand cmd = new OracleCommand(cmdText, conn);
                cmd.CommandType = CommandType.Text;
                cmd.Parameters.AddRange(oracleParameters);
                OracleDataAdapter oda = new OracleDataAdapter(cmd);
                conn.Open();
                DataSet ds = new DataSet();
                oda.Fill(ds);
                conn.Close();
                return ds.Tables[0];
            }
        }

        /// <summary>
        /// 執行sql獲取數據集
        /// </summary>
        /// <param name="cmdText">sql語句</param>
        /// <param name="oracleParameters">所傳參數(必須按照存儲過程參數順序)</param>
        /// <param name="strConn">鏈接字符串</param>
        /// <returns></returns>
        public static DataTable ExecToSqlGetTable(string cmdText, string strConn)
        {
            using (OracleConnection conn = new OracleConnection(strConn))
            {
                OracleCommand cmd = new OracleCommand(cmdText, conn);
                cmd.CommandType = CommandType.Text;
                OracleDataAdapter oda = new OracleDataAdapter(cmd);
                conn.Open();
                DataSet ds = new DataSet();
                oda.Fill(ds);
                conn.Close();
                return ds.Tables[0];
            }
        }

        /// <summary>
        /// 執行sql執行增刪改
        /// </summary>
        /// <param name="cmdText">sql語句</param>
        /// <param name="oracleParameters">所傳參數(必須按照存儲過程參數順序)</param>
        /// <param name="strConn">鏈接字符串</param>
        /// <returns></returns>
        public static int ExecToSqlNonQuery(string cmdText, OracleParameter[] oracleParameters, string strConn)
        {
            using (OracleConnection conn = new OracleConnection(strConn))
            {
                OracleCommand cmd = new OracleCommand(cmdText, conn);
                cmd.CommandType = CommandType.Text;
                cmd.Parameters.AddRange(oracleParameters);
                conn.Open();
                int result = cmd.ExecuteNonQuery();
                conn.Close();
                return result;
            }
        }
        /// <summary>
        /// 執行sql執行增刪改
        /// </summary>
        /// <param name="cmdText">sql語句</param>
        /// <param name="oracleParameters">所傳參數(必須按照存儲過程參數順序)</param>
        /// <param name="strConn">鏈接字符串</param>
        /// <returns></returns>
        public static int ExecToSqlNonQuery(string cmdText, string strConn)
        {
            using (OracleConnection conn = new OracleConnection(strConn))
            {
                OracleCommand cmd = new OracleCommand(cmdText, conn);
                cmd.CommandType = CommandType.Text;
                conn.Open();
                int result = cmd.ExecuteNonQuery();
                conn.Close();
                return result;
            }
        }


        /// <summary>
        /// 執行多條Sql獲取返回值
        /// </summary>
        /// <param name="listSelectSql"></param>
        /// <returns></returns>
        public DataSet Query(List<string> listSelectSql,string strConn)
        {
            using (OracleConnection conn = new OracleConnection(strConn)) { OracleCommand cmd = new OracleCommand(); StringBuilder strSql = new StringBuilder(); strSql.Append("begin "); for (int i = 0; i < listSelectSql.Count; i++) { string paraName = "p_cursor_" + i; strSql.AppendFormat("open :{0} for {1}; ", paraName, listSelectSql[i]); cmd.Parameters.Add(paraName, OracleDbType.RefCursor, DBNull.Value, ParameterDirection.Output); } strSql.Append("end;"); cmd.Connection = conn; cmd.CommandText = strSql.ToString(); OracleDataAdapter oda = new OracleDataAdapter(); oda.SelectCommand = cmd; conn.Open(); DataSet ds = new DataSet(); oda.Fill(ds); conn.Close(); return ds; } }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM