国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

一個數據庫操作類的實例(二.Provider類)

2024-07-21 02:23:46
字體:
來源:轉載
供稿:網友
  • 本文來源于網頁設計愛好者web開發社區http://www.html.org.cn收集整理,歡迎訪問。
  • using system;
    namespace com.joybase.db
    {
    /// <summary>
    /// 數據庫連接提供類
    /// </summary>
    public class provider
    {
      //一個靜態的連接接口;
      private static system.data.idbconnection conn;
      /// <summary>
      /// 構造方法,設為私有類型,是防止外部無效的引用;
      /// </summary>
      protected provider()
      {
       //
       // todo: add constructor logic here
       //
       system.data.idbcommand x=new system.data.oledb.oledbcommand();
          
      }
    //  /// <summary>
    //  /// 數據庫連接類型,即判斷是system.data.sqlclient類型或者是system.data.oledb類型的。
    //  /// </summary>
    //  private static dbtype databasetype
    //  {
    //   get
    //   {
    //    //從配置文件當中讀取數據庫類型字符串
    //    string m_dbtype=system.configuration.configurationsettings.appsettings["database.type"];
    //    //如果未設置默認為system.data.sqlclient類型的連接
    //    if(m_dbtype==null)
    //    {
    //     return dbtype.sqlclient;
    //    }
    //    else
    //    {
    //     //如果為空或者為mssqlserver2000,則使用system.data.sqlclient類型的連接
    //     if(m_dbtype.trim()==""||m_dbtype.trim().toupper()=="mssqlserver2000"||m_dbtype.trim().toupper()=="mssqlserver7")
    //     {
    //      return dbtype.sqlclient;
    //     }
    //     //其它則返回system.data.oledb類型的連接
    //     else
    //     {
    //      if(m_dbtype.trim().toupper()=="oledb")
    //      {
    //       return dbtype.oledb;
    //      }
    //     }
    //
    //    }
    //    return dbtype.oledb;
    //
    //   }
    //
    //
    //  }
      /// <summary>
      /// 重載getconn(string)方法,此時連接字符串的標簽名將為“database.connectionstring”
      /// <seealso cref="getconn(string) "/>
      /// </summary>
      ///  <returns>返回一個連接</returns>
      public static system.data.idbconnection getconn()
      {
       return provider.getconn("");
      }
      /// <summary>
      /// 獲得數據庫連接接口
      /// </summary>
      /// <param name="p_connstringsetname">一個在config文件中設置連接字符串的標簽名</param>
      /// <returns></returns>
      public static system.data.idbconnection getconn(string p_connstringsetname)
      {
       
    //   if(conn==null)
    //   {
        string connstr="";
        if(p_connstringsetname.trim()=="")
        {
         connstr=system.configuration.configurationsettings.appsettings["database.connectionstring"];
        }
        else
        {
         connstr=system.configuration.configurationsettings.appsettings[p_connstringsetname];
        }
        if(connstr==null||connstr=="")
        {
         throw new exception("not find connection string!");
        }
        dbtype m_dbtype;//=provider.databasetype;
        /*                              
         * 注釋:我們對前面的編碼進行了部分的修改,鑒于system.data.sqlclient的連接
         * 字符串當中不可能出現"provider"字樣,所以我們根據是否有provider字樣來判斷
         * 該連接是基于system.data.sqlclient的或者system.data.oledb的。
         * 參考資料:
         * 可以將 connectionstring 屬性設置為單個單元。(不能為 sqlconnection 對象指定 provider 屬性。)
         * –或–
                     *
         * 可以設置單個屬性(datasource、database、username 等等)。如果設置單個屬性,則將為您生成連接字符串。
         * 注意   在連接字符串中存儲用戶名和密碼有安全性設置的意味。有關詳細信息,請參閱introduction to ado.net connection design tools。
                     *
         */
        if(connstr.tolower().indexof("provider")==-1) m_dbtype=dbtype.sqlclient;
        else m_dbtype=dbtype.oledb;
        try
        {
         if(m_dbtype==dbtype.sqlclient)
         {
          conn=new system.data.sqlclient.sqlconnection(connstr);
         }
         else
         {
          conn=new system.data.oledb.oledbconnection(connstr);
         }
        }
        catch
        {
         throw new exception("error to connect db!");
        }
    //   }
       //if(conn.state!=system.data.connectionstate.closed) conn.close();
       return conn;
       
      }
      
    }
    /// <summary>
    /// 枚舉類型,即一個數據庫連接類型的枚舉
    /// </summary>
    enum dbtype
    {
      sqlclient=0,
      oledb=1
    }
    }
     
    發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 白沙| 无锡市| 鄂州市| 礼泉县| 三穗县| 博客| 梧州市| 靖西县| 临夏市| 玉山县| 抚顺县| 瓮安县| 恭城| 收藏| 五河县| 曲靖市| 湘潭县| 内江市| 墨竹工卡县| 鱼台县| 日土县| 乌鲁木齐市| 敦化市| 余干县| 磴口县| 石泉县| 林州市| 正宁县| 仁寿县| 龙江县| 六枝特区| 竹北市| 天峨县| 克拉玛依市| 郴州市| 余江县| 南充市| 焦作市| 江山市| 阳高县| 秦安县|