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

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

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

      數據訪問抽象基礎類

      /// <summary>
          
      /// 數據訪問抽象基礎類
          
      /// </summary>
          
      public abstract class SQLHelper
          {
              
      //數據庫連接字符串(web.config來配置),可以動態更改connectionString支持多數據庫.        
              
      public static string connectionString = ConfigurationManager.AppSettings["ConnectionString"];

              
      /// <summary>
              
      /// 準備執行一個命令
              
      /// </summary>
              
      /// <param name="cmd">sql命令</param>
              
      /// <param name="conn">Sql連接</param>
              
      /// <param name="trans">Sql事務</param>
              
      /// <param name="cmdType">命令類型例如 存儲過程或者文本</param>
              
      /// <param name="cmdText">命令文本,例如:Select * from Products</param>
              
      /// <param name="cmdParms">執行命令的參數</param>
              private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, CommandType cmdType, string cmdText, SqlParameter
      [] cmdParms)
              {

                  
      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 (SqlParameter parm 
      in cmdParms)
                          cmd.Parameters.
      Add(parm);
                  }
              }

              
      /// <summary>
              
      ///  給定連接的數據庫用假設參數執行一個sql命令(不返回數據集)
              
      /// </summary>
              
      /// <param name="connectionString">一個有效的連接字符串</param>
              
      /// <param name="commandType">命令類型(存儲過程, 文本, 等等)</param>
              
      /// <param name="commandText">存儲過程名稱或者sql命令語句</param>
              
      /// <param name="commandParameters">執行命令所用參數的集合</param>
              
      /// <returns>執行命令所影響的行數</returns>
              
      public static int ExecuteNonQuery(CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
              {

                  SqlCommand cmd 
      = new SqlCommand();

                  using (SqlConnection conn 
      = new SqlConnection(connectionString))
                  {
                      PrepareCommand(cmd, conn, 
      null, cmdType, cmdText, commandParameters);
                      
      int val = cmd.ExecuteNonQuery();
                      cmd.Parameters.Clear();
                      
      return val;
                  }
              }

              
      /// <summary>
              
      /// 執行多條SQL語句,實現數據庫事務。
              
      /// </summary>
              
      /// <param name="SQLStringList">多條SQL語句</param>        
              
      public static int ExecuteNonQuerySqlTran(List<String> StringList)
              {
                  using (SqlConnection conn 
      = new SqlConnection(connectionString))
                  {
                      conn.
      Open();
                      SqlCommand cmd 
      = new SqlCommand();
                      cmd.Connection 
      = conn;
                      SqlTransaction trans 
      = conn.BeginTransaction();
                      cmd.
      Transaction = trans;
                      try
                      {
                          
      int count = 0;
                          
      for (int i = 0; i < StringList.Count; i++)
                          {
                              string strsql 
      = StringList[i];
                              
      if (strsql.Trim().Length > 1)
                              {
                                  cmd.CommandText 
      = strsql;
                                  
      count += cmd.ExecuteNonQuery();
                              }
                          }
                          trans.
      Commit();
                          
      return count;
                      }
                      catch
                      {
                          trans.
      Rollback();
                          
      return 0;
                      }
                      finally
                      {
                          cmd.Dispose();
                          conn.
      Close();
                      }
                  }
              }
              

              
      /// <summary>
              
      /// 用執行的數據庫連接執行一個返回數據集的sql命令
              
      /// </summary>
              
      /// <param name="connectionString">一個有效的連接字符串</param>
              
      /// <param name="commandType">命令類型(存儲過程, 文本, 等等)</param>
              
      /// <param name="commandText">存儲過程名稱或者sql命令語句</param>
              
      /// <param name="commandParameters">執行命令所用參數的集合</param>
              
      /// <returns>包含結果的讀取器</returns>
              
      public static SqlDataReader ExecuteReader(CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
              {
                  
      //創建一個SqlCommand對象
                  SqlCommand cmd 
      = new SqlCommand();
                  
      //創建一個SqlConnection對象
                  SqlConnection conn 
      = new SqlConnection(connectionString);

                  
      //在這里我們用一個try/catch結構執行sql文本命令/存儲過程,因為如果這個方法產生一個異常我們要關閉連接,因為沒有讀取器存在,
                  
      //因此commandBehaviour.CloseConnection 就不會執行
                  try
                  {
                      
      //調用 PrepareCommand 方法,對 SqlCommand 對象設置參數
                      PrepareCommand(cmd, conn, 
      null, cmdType, cmdText, commandParameters);
                      
      //調用 SqlCommand  的 ExecuteReader 方法
                      SqlDataReader reader 
      = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                      
      //清除參數
                      cmd.Parameters.Clear();
                      
      return reader;
                  }
                  catch
                  {
                      
      //關閉連接,拋出異常
                      conn.
      Close();
                      throw;
                  }
              }

              
      /// <summary>
              
      /// 用指定的數據庫連接字符串執行一個命令并返回一個數據集的第一列
              
      /// </summary>
              
      ///<param name="connectionString">一個有效的連接字符串</param>
              
      /// <param name="cmdType">命令類型(存儲過程, 文本, 等等)</param>
              
      /// <param name="cmdText">存儲過程名稱或者sql命令語句</param>
              
      /// <param name="commandParameters">執行命令所用參數的集合</param>
              
      /// <returns>用 Convert.To{Type}把類型轉換為想要的 </returns>
              
      public static object ExecuteScalar(CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
              {
                  SqlCommand cmd 
      = new SqlCommand();
                  using (SqlConnection connection 
      = new SqlConnection(connectionString))
                  {
                      PrepareCommand(cmd, connection, 
      null, cmdType, cmdText, commandParameters);
                      object val 
      = cmd.ExecuteScalar();
                      cmd.Parameters.Clear();
                      
      return val;
                  }
              }

              
      /// <summary>
              
      /// 返回數據集DataSet
              
      /// </summary>
              
      /// <param name="cmdType">命令類型(存儲過程, 文本, 等等)</param>
              
      /// <param name="cmdText">存儲過程名稱或者sql命令語句</param>
              
      /// <param name="commandParameters">執行命令所用參數的集合</param>
              
      /// <returns>返回DataSet</returns>
              
      public static DataSet ExecuteDataset(CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
              {
                  using (SqlConnection connection 
      = new SqlConnection(connectionString))
                  {
                      SqlCommand cmd 
      = new SqlCommand();
                      PrepareCommand(cmd, connection, 
      null, cmdType, cmdText, commandParameters);
                      using (SqlDataAdapter da 
      = new SqlDataAdapter(cmd))
                      {
                          DataSet ds 
      = new DataSet();
                          try
                          {
                              da.Fill(ds, "ds");
                              cmd.Parameters.Clear();
                          }
                          catch (System.Data.SqlClient.SqlException ex)
                          {
                              throw new Exception(ex.Message);
                          }
                          finally
                          {
                              cmd.Dispose();
                              connection.
      Close();
                          }
                          
      return ds;
                      }
                  }
              }

              
      /// <summary>
              
      ///  返回數據集DataSet
              
      /// </summary>
              
      /// <param name="int_PageSize"></param>
              
      /// <param name="int_CurrentPageIndex"></param>
              
      /// <param name="cmdType"></param>
              
      /// <param name="cmdText"></param>
              
      /// <param name="cmdParms"></param>
              
      /// <returns></returns>
              
      public static DataSet ExecuteDataset(int int_PageSize, int int_CurrentPageIndex, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
              {
                  using (SqlConnection connection 
      = new SqlConnection(connectionString))
                  {
                      SqlCommand cmd 
      = new SqlCommand();
                      PrepareCommand(cmd, connection, 
      null, cmdType, cmdText, commandParameters);
                      using (SqlDataAdapter da 
      = new SqlDataAdapter(cmd))
                      {
                          DataSet ds 
      = new DataSet();
                          try
                          {
                              
      if (int_PageSize == 0 && int_CurrentPageIndex == 0)
                              {
                                  da.Fill(ds, "ds");
                              }
                              
      else
                              {
                                  
      int int_Page = int_PageSize * (int_CurrentPageIndex - 1);
                                  
      if (int_Page < 0)
                                  {
                                      int_Page 
      = 0;
                                  }
                                  da.Fill(ds, int_Page, int_PageSize, "ds");
                              }
                              cmd.Parameters.Clear();
                          }
                          catch (System.Data.SqlClient.SqlException ex)
                          {
                              throw new Exception(ex.Message);
                          }
                          finally
                          {
                              cmd.Dispose();
                              connection.
      Close();
                          }
                          
      return ds;
                      }
                  }
              }
          }
      posted @ 2008-04-03 13:14  love .net FrameWork  閱讀(738)  評論(1)    收藏  舉報
      主站蜘蛛池模板: 亚洲国产成人片在线观看无码| 欧美变态另类zozo| 丁香色婷婷国产精品视频 | 成全影视大全在线观看| 成人拍拍拍无遮挡免费视频| 国产精品美女一区二区三| 久久热这里只有精品最新| 秋霞无码久久久精品| 国产极品精品自在线不卡| 国产自产对白一区| 性一交一乱一乱一视频| 公喝错春药让我高潮| 国产精品视频一区二区三区无码| 又大又粗欧美成人网站| 中文字幕理伦午夜福利片| 99精品国产一区二区三| 漂亮人妻中文字幕丝袜| 国产一区二区内射最近更新| 亚欧乱色精品免费观看| 性无码一区二区三区在线观看| 久久久久无码精品国产AV| 99精品国产综合久久久久五月天 | 99久久精品费精品国产一区二区| 虎白女粉嫩尤物福利视频| 国产按头口爆吞精在线视频| av午夜福利一片免费看久久| 国产精品一区二区传媒蜜臀| 中日韩黄色基地一二三区| 亚洲欧洲av一区二区久久| 亚洲开心婷婷中文字幕| 亚洲色婷婷婷婷五月基地| аⅴ天堂国产最新版在线中文| 国产成人精品久久一区二区| 国产美女自慰在线观看| 天堂中文最新版在线官网在线 | 久热99热这里只有精品| 在线亚洲午夜片av大片| 午夜福利精品一区二区三区 | 国内精品自线在拍| 亚洲无av在线中文字幕| 亚洲成在人线AⅤ中文字幕|