<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      一個(gè)仿PetShop的通用DBHelper類

      今天參考PetShop的SqlHelper寫了個(gè)更通用的DBHelper,兼容大部分DB.感覺對(duì)于小型開發(fā)來說,使用這樣的通用類,更換DB會(huì)方便.奉上代碼:

       

      Code
      using System;
      using System.Collections.Generic;
      using System.Text;
      using System.Data;
      using System.Data.Common;
      using System.Configuration;

      namespace MBDone.Core.DBUtility
      {
          
      public static class DBHelper
          {
              
      private static readonly string connStringName = ConfigurationManager.AppSettings["connStringName"].ToString();
              
      private static readonly string connString = ConfigurationManager.ConnectionStrings[connStringName].ConnectionString;
              
      private static readonly string providerName = ConfigurationManager.ConnectionStrings[connStringName].ProviderName;
              
      public static DbProviderFactory provider = DbProviderFactories.GetFactory(providerName);

              
      #region Public Mothods

              
      public static int ExcuteNonQuery(string cmdText, params DbParameter[] cmdParms)
              {
                  
      return ExcuteNonQuery(null, CommandType.Text, cmdText, cmdParms);
              }

              
      public static int ExcuteNonQuery(CommandType cmdType, string cmdText, params DbParameter[] cmdParms)
              {
                  
      return ExcuteNonQuery(null, cmdType, cmdText, cmdParms);
              }

              
      public static int ExcuteNonQuery(DbTransaction trans, CommandType cmdType, string cmdText, params DbParameter[] cmdParms)
              {
                  
      using (DbConnection conn = provider.CreateConnection())
                  {
                      
      using (DbCommand cmd = provider.CreateCommand())
                      {
                          PrepareCommand(cmd, conn, trans, cmdType, cmdText, cmdParms);
                          
      return cmd.ExecuteNonQuery();
                      }
                  }
              }

              
      public static DbDataReader ExecuteReader(string cmdText, params DbParameter[] cmdParms)
              {
                  
      return ExecuteReader(null, CommandType.Text, cmdText, cmdParms);
              }

              
      public static DbDataReader ExecuteReader(CommandType cmdType, string cmdText, params DbParameter[] cmdParms)
              {
                  
      return ExecuteReader(null, cmdType, cmdText, cmdParms);
              }

              
      public static DbDataReader ExecuteReader(DbTransaction trans, CommandType cmdType, string cmdText, params DbParameter[] cmdParms)
              {
                  DbConnection conn 
      = provider.CreateConnection();
                  DbCommand cmd 
      = provider.CreateCommand();

                  
      try
                  {
                      PrepareCommand(cmd, conn, trans, cmdType, cmdText, cmdParms);
                      
      return cmd.ExecuteReader(CommandBehavior.CloseConnection);
                  }
                  
      catch
                  {
                      conn.Close();
                      cmd.Dispose();
                      
      throw;
                  }
              }

              
      public static object ExecuteScalar(string cmdText, params DbParameter[] cmdParms)
              {
                  
      return ExecuteScalar(null, CommandType.Text, cmdText, cmdParms);
              }

              
      public static object ExecuteScalar(CommandType cmdType, string cmdText, params DbParameter[] cmdParms)
              {
                  
      return ExecuteScalar(null, cmdType, cmdText, cmdParms);
              }

              
      public static object ExecuteScalar(DbTransaction trans, CommandType cmdType, string cmdText, params DbParameter[] cmdParms)
              {
                  
      using (DbConnection conn = provider.CreateConnection())
                  {
                      
      using (DbCommand cmd = provider.CreateCommand())
                      {
                          PrepareCommand(cmd, conn, trans, cmdType, cmdText, cmdParms);
                          
      return cmd.ExecuteScalar();
                      }
                  }
              }

              
      #endregion

              
      #region Private Methods

              
      private static void PrepareCommand(DbCommand cmd, DbConnection conn, DbTransaction trans, CommandType cmdType, string cmdText, DbParameter[] cmdParms)
              {
                  conn.ConnectionString 
      = connString;
                  
      if (conn.State != ConnectionState.Open)
                      conn.Open();

                  cmd.Connection 
      = conn;
                  cmd.CommandText 
      = cmdText;

                  
      if (trans != null)
                      cmd.Transaction 
      = trans;

                  cmd.CommandType 
      = cmdType;

                  
      if (cmdParms != null)
                  {
                      
      foreach (DbParameter parm in cmdParms)
                          cmd.Parameters.Add(parm);
                  }
              }

              
      #endregion
          }
      }

       

      使用如下:

       

      Code
      string sql1 = "Delete From [User] Where [Id]=@Id";
      DbParameter param 
      = DBHelper.provider.CreateParameter();
      param.ParameterName 
      = "@Id";
      param.Value 
      = 3;
      DbParameter[] ps 
      = { param };
      int count = DBHelper.ExcuteNonQuery(sql2, ps);

      string sql2 = "SELECT TOP 100 [Id],[Name] FROM [User]";
      DbDataReader dr 
      = DBHelper.ExecuteReader(sql2, null);
      while (dr.Read())
      {
          
      string name = dr[1].ToString();
      }
      dr.Close();

       

      Web.config配置使用哪一種DB:(由上而下分別是Access,SQL server,SQLite)

       

      Code
      <appSettings>
          
      <add key="connStringName" value="defaultConnectionString1"/>
      </appSettings>
      <connectionStrings>
          
      <add name="defaultConnectionString1" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\UserDB.mdb;Jet OLEDB:Database Password=1234567" providerName="System.Data.OleDb"/>
          
      <add name="defaultConnectionString2" connectionString="Data Source=10.152.86.42;Initial Catalog=UserDB;Persist Security Info=False;User ID=sa; pwd = 1234567" providerName="System.Data.SqlClient"/>
          
      <add name="defaultConnectionString3" connectionString="Data Source=|DataDirectory|\UserDB.s3db;Version=3;BinaryGUID=False;" providerName="System.Data.SQLite"/>
      </connectionStrings>

       

      注意如果使用SQLite除了引用"System.Data.SQLite.DLL"(在 http://sourceforge.net/projects/sqlite-dotnet2 下載 ADO.NET 2.0 Provider。找到下載包中的 System.Data.SQLite.DLL 拷貝到程序 Bin 目錄。)

      還必須配置DB Provider:

       

      Code
      <system.data>
          
      <DbProviderFactories>
              
      <remove invariant="System.Data.SQLite"/>
              
      <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/>
          
      </DbProviderFactories>
      </system.data>

       

      否則會(huì)報(bào)錯(cuò):

       

      Code
      Unable to find the requested .Net Framework Data Provider.  It may not be installed.

       

      注:本文基于WebApp開發(fā)而講述.

      posted @ 2009-07-01 17:31  KenBlove  閱讀(2003)  評(píng)論(4)    收藏  舉報(bào)
      主站蜘蛛池模板: 始兴县| 免费无码又爽又刺激成人| 熟女视频一区二区三区嫩草| 国产在线不卡精品网站| 果冻传媒色av国产在线播放| 成人亚欧欧美激情在线观看| 国产亚洲精品久久久久婷婷图片 | 中文字幕久久精品波多野结| 香蕉EEWW99国产精选免费| 久久精品国产99精品亚洲| 91中文字幕在线一区| 久久中精品中文字幕入口| 东方四虎在线观看av| 柠檬福利第一导航在线| 国产精品v片在线观看不卡| 国产一区二区三区高清在线观看| 国产一区精品综亚洲av| 成在线人视频免费视频| 久久人与动人物a级毛片 | 亚洲欧洲一区二区精品| 一本色道婷婷久久欧美| 国产av无码专区亚洲av软件| 亚洲熟妇色xxxxx亚洲| 国产精品一区中文字幕| 91蜜臀国产自产在线观看| 日本熟妇hdsex视频| 临清市| 熟妇的奶头又大又长奶水视频| 国产亚洲精品VA片在线播放| 日本熟妇浓毛hdsex| 国产精品久久久久久福利| 偷拍一区二区三区在线视频| 一区二区三区午夜无码视频| 四虎国产精品永久入口| 亚洲第一视频区| 无码激情亚洲一区| av鲁丝一区鲁丝二区鲁丝三区| 成人啪啪高潮不断观看| 亚欧成人精品一区二区乱| 日韩伦理片| 国产99久久亚洲综合精品西瓜tv|