<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        asp.net Oracle數據庫訪問操作類

        來源:懂視網 責編:小采 時間:2020-11-27 22:41:26
        文檔

        asp.net Oracle數據庫訪問操作類

        asp.net Oracle數據庫訪問操作類: 代碼如下:using System;using System.Collections;using System.Collections.Specialized;using System.Data;using System.Data.OracleClient;using System.Configuration;using System.Data.Com
        推薦度:
        導讀asp.net Oracle數據庫訪問操作類: 代碼如下:using System;using System.Collections;using System.Collections.Specialized;using System.Data;using System.Data.OracleClient;using System.Configuration;using System.Data.Com

        代碼如下:
        using System;
        using System.Collections;
        using System.Collections.Specialized;
        using System.Data;
        using System.Data.OracleClient;
        using System.Configuration;
        using System.Data.Common;
        using System.Collections.Generic;

            /// <summary>
            /// 數據訪問抽象基礎類
            ///
            /// </summary>
        public class DBBase
        {


            //數據庫連接字符串(web.config來配置),可以動態更改connectionString支持多數據庫.       
            public static string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString1"].ToString();
            public DBBase()
            {
            }

            #region 檢查用戶名是否存在
            /// <summary>
            /// 檢查用戶名是否存在,存在返回true,不存在返回false
            /// </summary>
            /// <param name="strSql"></param>
            /// <returns></returns>
            public static bool Exists(string strSql)
            {

                using (OracleConnection connection = new OracleConnection(connectionString))
                {
                    connection.Open();
                    OracleCommand myCmd = new OracleCommand(strSql, connection);
                    try
                    { 
                        object obj = myCmd.ExecuteScalar(); //返回結果的第一行一列
                        myCmd.Parameters.Clear();
                        if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
                        {
                            return false;
                        }
                        else
                        {
                            return true;
                        }          
                    }
                    catch (Exception ex)
                     {
                         throw ex;
                     }
               }
            }

            #endregion

            #region  執行簡單SQL語句 返回影響的記錄數

            /// <summary>
            /// 執行SQL語句,返回影響的記錄數
            /// </summary>
            /// <param name="SQLString">SQL語句</param>
            /// <returns>影響的記錄數</returns>
            public static int ExecuteSql(string SQLString)
            {

                OracleConnection connection = null;
                OracleCommand cmd = null;
                try
                {
                    connection = new OracleConnection(connectionString);
                    cmd = new OracleCommand(SQLString, connection);
                    connection.Open();
                    int rows = cmd.ExecuteNonQuery();
                    return rows;
                }
                finally
                {
                    if (cmd != null)
                    {
                        cmd.Dispose();
                    }
                    if (connection != null)
                    {
                        connection.Close();
                        connection.Dispose();
                    }
                }
            }
               #endregion

         

            #region   執行查詢語句,返回SqlDataReader
            /// <summary>
            /// 執行查詢語句,返回SqlDataReader ( 注意:調用該方法后,一定要對SqlDataReader進行Close )
            /// </summary>
            /// <param name="strSQL">查詢語句</param>
            /// <returns>SqlDataReader</returns>
            public static OracleDataReader ExecuteReader(string strSQL)
            {
                OracleConnection connection = new OracleConnection(connectionString);
                OracleCommand cmd = new OracleCommand(strSQL, connection);
                try
                {
                    connection.Open();
                    OracleDataReader myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                    return myReader;
                }
                catch (System.Data.OracleClient.OracleException e)
                {
                    throw e;
                }
                finally
                {
                    connection.Close();

                }
            }
            #endregion

            #region  執行SQL查詢語句,返回DataTable數據表
            /// <summary>
            /// 執行SQL查詢語句
            /// </summary>
            /// <param name="sqlStr"></param>
            /// <returns>返回DataTable數據表</returns>
            public static DataTable GetDataTable(string sqlStr)
            {
                OracleConnection mycon = new OracleConnection(connectionString);
                OracleCommand mycmd = new OracleCommand(sqlStr, mycon);
                DataTable dt = new DataTable();
                OracleDataAdapter da = null;
                try
                {
                    mycon.Open();
                    da = new OracleDataAdapter(sqlStr, mycon);
                    da.Fill(dt);


                }
                catch (Exception ex)
                {

                    throw new Exception(ex.ToString());
                }
                finally
                {
                    mycon.Close();
                }
                return dt;
            }
            #endregion

            #region 存儲過程操作
            /// <summary>
            ///  運行存儲過程,返回datatable;
            /// </summary>
            /// <param name="storedProcName">存儲過程名稱</param>
            /// <param name="parameters">參數</param>
            /// <returns></returns>
            public static DataTable RunProcedureDatatable(string storedProcName, IDataParameter[] parameters)
            {
                using (OracleConnection connection = new OracleConnection(connectionString))
                {
                    DataSet ds = new DataSet();
                    connection.Open();
                    OracleDataAdapter sqlDA = new OracleDataAdapter();
                    sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters);
                    sqlDA.Fill(ds);
                    connection.Close();
                    return ds.Tables[0];
                }
            }
            /// <summary>
            /// 執行存儲過程
            /// </summary>
            /// <param name="storedProcName">存儲過程名稱</param>
            /// <param name="parameters">參數</param>
            /// <returns></returns>
            public static int RunProcedure(string storedProcName, IDataParameter[] parameters)
            {
                using (OracleConnection connection = new OracleConnection(connectionString))
                {
                    try
                    {
                        connection.Open();
                        OracleCommand command = new OracleCommand(storedProcName, connection);
                        command.CommandType = CommandType.StoredProcedure;
                        foreach (OracleParameter parameter in parameters)
                        {
                            if (parameter != null)
                            {
                                // 檢查未分配值的輸出參數,將其分配以DBNull.Value.
                                if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) &&
                                    (parameter.Value == null))
                                {
                                    parameter.Value = DBNull.Value;
                                }
                                command.Parameters.Add(parameter);
                            }
                        }
                       int rows = command.ExecuteNonQuery();
                       return rows;
                    }

                    finally
                    {
                        connection.Close();
                    }
                }
            }

            /// <summary>
            /// 構建 OracleCommand 對象(用來返回一個結果集,而不是一個整數值)
            /// </summary>
            /// <param name="connection">數據庫連接</param>
            /// <param name="storedProcName">存儲過程名</param>
            /// <param name="parameters">存儲過程參數</param>
            /// <returns>OracleCommand</returns>
            private static OracleCommand BuildQueryCommand(OracleConnection connection, string storedProcName, IDataParameter[] parameters)
            {
                OracleCommand command = new OracleCommand(storedProcName, connection);
                command.CommandType = CommandType.StoredProcedure;
                foreach (OracleParameter parameter in parameters)
                {
                    if (parameter != null)
                    {
                        // 檢查未分配值的輸出參數,將其分配以DBNull.Value.
                        if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) &&
                            (parameter.Value == null))
                        {
                            parameter.Value = DBNull.Value;
                        }
                        command.Parameters.Add(parameter);
                    }
                }
                return command;
            }


            #endregion

            #region 事務處理

            /// <summary>
            /// 執行多條SQL語句(list的形式),實現數據庫事務。
            /// </summary>
            /// <param name="SQLStringList">多條SQL語句</param>   
            /// 調用 Transaction 對象的 Commit 方法來完成事務,或調用 Rollback 方法來取消事務。
            public static int ExecuteSqlTran(List<String> SQLStringList)
            {
                using (OracleConnection connection = new OracleConnection(connectionString))
                {
                    connection.Open();
                    // 為事務創建一個命令
                    OracleCommand cmd = new OracleCommand();
                    cmd.Connection = connection;
                    OracleTransaction tx = connection.BeginTransaction();// 啟動一個事務
                    cmd.Transaction = tx;
                    try
                    {
                        int count = 0;
                        for (int n = 0; n < SQLStringList.Count; n++)
                        {
                            string strsql = SQLStringList[n];
                            if (strsql.Trim().Length > 1)
                            {
                                cmd.CommandText = strsql;
                                count += cmd.ExecuteNonQuery();
                            }
                        }
                        tx.Commit();//用Commit方法來完成事務
                        return count;//
                    }
                    catch
                    {
                        tx.Rollback();//出現錯誤,事務回滾!
                        return 0;
                    }
                    finally
                    {
                        cmd.Dispose();
                        connection.Close();//關閉連接
                    }
                }
            }
            #endregion
            #region 事務處理

            /// <summary>
            /// 執行多條SQL語句(字符串數組形式),實現數據庫事務。
            /// </summary>
            /// <param name="SQLStringList">多條SQL語句</param>   
            /// 調用 Transaction 對象的 Commit 方法來完成事務,或調用 Rollback 方法來取消事務。
            public static int ExecuteTransaction(string[] SQLStringList,int p)
            {
                using (OracleConnection connection = new OracleConnection(connectionString))
                {
                    connection.Open();
                    // 為事務創建一個命令
                    OracleCommand cmd = new OracleCommand();
                    cmd.Connection = connection;
                    OracleTransaction tx = connection.BeginTransaction();// 啟動一個事務
                    cmd.Transaction = tx;
                    try
                    {
                        int count = 0;
                        for (int n = 0; n < p; n++)
                        {
                            string strsql = SQLStringList[n];
                            if (strsql.Trim().Length > 1)
                            {
                                cmd.CommandText = strsql;
                                count += cmd.ExecuteNonQuery();
                            }
                        }
                        tx.Commit();//用Commit方法來完成事務
                        return count;//
                    }
                    catch
                    {
                        tx.Rollback();//出現錯誤,事務回滾!
                        return 0;
                    }
                    finally
                    {
                        cmd.Dispose();
                        connection.Close();//關閉連接
                    }
                }
            }

            #endregion
            /// <summary>
            /// 執行存儲過程獲取所需編號(各表主鍵)
            /// </summary>
            /// <param name="FlowName">存儲過程參數</param>
            /// <param name="StepLen">存儲過程參數(默認為1)</param>
            /// <returns>編號(各表主鍵)</returns>
            public static string Get_FlowNum(string FlowName, int StepLen = 1)
            {
                OracleConnection mycon = new OracleConnection(connectionString);
                try
                {
                    mycon.Open();
                    OracleCommand MyCommand = new OracleCommand("ALARM_GET_FLOWNUMBER", mycon);
                    MyCommand.CommandType = CommandType.StoredProcedure;
                    MyCommand.Parameters.Add(new OracleParameter("I_FlowName", OracleType.VarChar, 50));
                    MyCommand.Parameters["I_FlowName"].Value = FlowName;
                    MyCommand.Parameters.Add(new OracleParameter("I_SeriesNum", OracleType.Number));
                    MyCommand.Parameters["I_SeriesNum"].Value = StepLen;
                    MyCommand.Parameters.Add(new OracleParameter("O_FlowValue", OracleType.Number));
                    MyCommand.Parameters["O_FlowValue"].Direction = ParameterDirection.Output;
                    MyCommand.ExecuteNonQuery();
                    return MyCommand.Parameters["O_FlowValue"].Value.ToString();
                }
                catch
                {
                    return "";
                }
                finally
                {
                    mycon.Close();
                }
            }

        }

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        asp.net Oracle數據庫訪問操作類

        asp.net Oracle數據庫訪問操作類: 代碼如下:using System;using System.Collections;using System.Collections.Specialized;using System.Data;using System.Data.OracleClient;using System.Configuration;using System.Data.Com
        推薦度:
        標簽: 操作 訪問 類型
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产伦精品一区二区三区免费下载| 国产激情免费视频在线观看| 亚洲性无码AV中文字幕| 日韩精品极品视频在线观看免费| 成全高清在线观看免费| 免费av欧美国产在钱| 久久久亚洲欧洲日产国码aⅴ | 最近中文字幕mv手机免费高清| 最好免费观看韩国+日本| 免费国产a国产片高清| 毛片亚洲AV无码精品国产午夜| 国产又黄又爽又大的免费视频| 亚洲熟妇无码另类久久久| 亚洲三级在线播放| 无码一区二区三区免费视频| 亚洲欧美日韩综合久久久| 手机看片久久国产免费| 国产精品hd免费观看| 国产AV无码专区亚洲AV手机麻豆| 久久综合久久综合亚洲| 午夜视频在线观看免费完整版| 亚洲AV日韩AV无码污污网站| 全黄a免费一级毛片人人爱| 国产免费区在线观看十分钟 | 一个人看www免费高清字幕| 亚洲永久精品ww47| 91免费国产精品| 亚洲人成网站18禁止久久影院| 国产精品免费看久久久| 亚洲国产av一区二区三区丶| 永久免费看bbb| 国产精品免费福利久久| 亚洲精品美女久久久久久久| 免费AA片少妇人AA片直播| 久久久久亚洲av无码专区喷水| 亚洲第一成年免费网站| 国产免费A∨在线播放| 亚洲人成激情在线播放| 亚洲婷婷国产精品电影人久久| 久艹视频在线免费观看| 亚洲妇女无套内射精|