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

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

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

      SQL Server數據庫 857萬條數據導入用時4分鐘。【數據庫訪問類】

      using System;
      using System.Data;
      using System.Data.SqlClient;

      public class SqlDbHelper
          {
              /// <summary>
              /// 連接字符串
              /// </summary>
              public static readonly string connectionString = "data source=。;initial catalog=FFFFe;user id=LLDB_Pre;password=XXX;";
      
              #region ExecuteNonQuery命令
              /// <summary>
              /// 對數據庫執行增、刪、改命令
              /// </summary>
              /// <param name="safeSql">T-Sql語句</param>
              /// <returns>受影響的記錄數</returns>
              public static int ExecuteNonQuery(string safeSql)
              {
                  using (SqlConnection Connection = new SqlConnection(connectionString))
                  {
                      Connection.Open();
                      SqlTransaction trans = Connection.BeginTransaction();
                      try
                      {
                          SqlCommand cmd = new SqlCommand(safeSql, Connection);
                          cmd.Transaction = trans;
      
                          if (Connection.State != ConnectionState.Open)
                          {
                              Connection.Open();
                          }
                          int result = cmd.ExecuteNonQuery();
                          trans.Commit();
                          return result;
                      }
                      catch
                      {
                          trans.Rollback();
                          return 0;
                      }
                  }
              }
      
              /// <summary>
              /// 對數據庫執行增、刪、改命令
              /// </summary>
              /// <param name="sql">T-Sql語句</param>
              /// <param name="values">參數數組</param>
              /// <returns>受影響的記錄數</returns>
              public static int ExecuteNonQuery(string sql, SqlParameter[] values)
              {
                  using (SqlConnection Connection = new SqlConnection(connectionString))
                  {
                      Connection.Open();
                      SqlTransaction trans = Connection.BeginTransaction();
                      try
                      {
                          SqlCommand cmd = new SqlCommand(sql, Connection);
                          cmd.Transaction = trans;
                          cmd.Parameters.AddRange(values);
                          if (Connection.State != ConnectionState.Open)
                          {
                              Connection.Open();
                          }
                          int result = cmd.ExecuteNonQuery();
                          trans.Commit();
                          return result;
                      }
                      catch (Exception ex)
                      {
                          trans.Rollback();
                          return 0;
                      }
                  }
              }
              #endregion
      
              #region ExecuteScalar命令
              /// <summary>
              /// 查詢結果集中第一行第一列的值
              /// </summary>
              /// <param name="safeSql">T-Sql語句</param>
              /// <returns>第一行第一列的值</returns>
              public static int ExecuteScalar(string safeSql)
              {
                  using (SqlConnection Connection = new SqlConnection(connectionString))
                  {
                      if (Connection.State != ConnectionState.Open)
                          Connection.Open();
                      SqlCommand cmd = new SqlCommand(safeSql, Connection);
                      int result = Convert.ToInt32(cmd.ExecuteScalar());
                      return result;
                  }
              }
      
              /// <summary>
              /// 查詢結果集中第一行第一列的值
              /// </summary>
              /// <param name="sql">T-Sql語句</param>
              /// <param name="values">參數數組</param>
              /// <returns>第一行第一列的值</returns>
              public static int ExecuteScalar(string sql, SqlParameter[] values)
              {
                  using (SqlConnection Connection = new SqlConnection(connectionString))
                  {
                      if (Connection.State != ConnectionState.Open)
                          Connection.Open();
                      SqlCommand cmd = new SqlCommand(sql, Connection);
                      cmd.Parameters.AddRange(values);
                      int result = Convert.ToInt32(cmd.ExecuteScalar());
                      return result;
                  }
              }
              #endregion
      
              #region ExecuteReader命令
              /// <summary>
              /// 創建數據讀取器
              /// </summary>
              /// <param name="safeSql">T-Sql語句</param>
              /// <param name="Connection">數據庫連接</param>
              /// <returns>數據讀取器對象</returns>
              public static SqlDataReader ExecuteReader(string safeSql, SqlConnection Connection)
              {
                  if (Connection.State != ConnectionState.Open)
                      Connection.Open();
                  SqlCommand cmd = new SqlCommand(safeSql, Connection);
                  SqlDataReader reader = cmd.ExecuteReader();
                  return reader;
              }
      
              /// <summary>
              /// 創建數據讀取器
              /// </summary>
              /// <param name="sql">T-Sql語句</param>
              /// <param name="values">參數數組</param>
              /// <param name="Connection">數據庫連接</param>
              /// <returns>數據讀取器</returns>
              public static SqlDataReader ExecuteReader(string sql, SqlParameter[] values, SqlConnection Connection)
              {
                  if (Connection.State != ConnectionState.Open)
                      Connection.Open();
                  SqlCommand cmd = new SqlCommand(sql, Connection);
                  cmd.Parameters.AddRange(values);
                  SqlDataReader reader = cmd.ExecuteReader();
                  return reader;
              }
              #endregion
      
              #region ExecuteDataTable命令
              /// <summary>
              /// 執行指定數據庫連接對象的命令,指定存儲過程參數,返回DataTable
              /// </summary>
              /// <param name="type">命令類型(T-Sql語句或者存儲過程)</param>
              /// <param name="safeSql">T-Sql語句或者存儲過程的名稱</param>
              /// <param name="values">參數數組</param>
              /// <returns>結果集DataTable</returns>
              public static DataTable ExecuteDataTable(CommandType type, string safeSql, params SqlParameter[] values)
              {
                  using (SqlConnection Connection = new SqlConnection(connectionString))
                  {
                      if (Connection.State != ConnectionState.Open)
                          Connection.Open();
                      DataSet ds = new DataSet();
                      SqlCommand cmd = new SqlCommand(safeSql, Connection);
                      cmd.CommandType = type;
                      SqlDataAdapter da = new SqlDataAdapter(cmd);
                      da.Fill(ds);
                      return ds.Tables[0];
                  }
              }
      
              /// <summary>
              /// 執行指定數據庫連接對象的命令,指定存儲過程參數,返回DataTable
              /// </summary>
              /// <param name="safeSql">T-Sql語句</param>
              /// <returns>結果集DataTable</returns>
              public static DataTable ExecuteDataTable(string safeSql)
              {
                  using (SqlConnection Connection = new SqlConnection(connectionString))
                  {
                      if (Connection.State != ConnectionState.Open)
                          Connection.Open();
                      DataSet ds = new DataSet();
                      SqlCommand cmd = new SqlCommand(safeSql, Connection);
                      SqlDataAdapter da = new SqlDataAdapter(cmd);
                      try
                      {
                          da.Fill(ds);
                      }
                      catch (Exception ex)
                      {
      
                      }
                      return ds.Tables[0];
                  }
              }
      
              /// <summary>
              /// 執行指定數據庫連接對象的命令,指定存儲過程參數,返回DataTable
              /// </summary>
              /// <param name="sql">T-Sql語句</param>
              /// <param name="values">參數數組</param>
              /// <returns>結果集DataTable</returns>
              public static DataTable ExecuteDataTable(string sql, params SqlParameter[] values)
              {
                  using (SqlConnection Connection = new SqlConnection(connectionString))
                  {
                      if (Connection.State != ConnectionState.Open)
                          Connection.Open();
                      DataSet ds = new DataSet();
                      SqlCommand cmd = new SqlCommand(sql, Connection);
                      cmd.CommandTimeout = 0;
                      cmd.Parameters.AddRange(values);
                      SqlDataAdapter da = new SqlDataAdapter(cmd);
                      da.Fill(ds);
                      return ds.Tables[0];
                  }
              }
              #endregion
      
              #region GetDataSet命令
              /// <summary>
              /// 取出數據
              /// </summary>
              /// <param name="safeSql">sql語句</param>
              /// <param name="tabName">DataTable別名</param>
              /// <param name="values"></param>
              /// <returns></returns>
              public static DataSet GetDataSet(string safeSql, string tabName, params SqlParameter[] values)
              {
                  using (SqlConnection Connection = new SqlConnection(connectionString))
                  {
                      if (Connection.State != ConnectionState.Open)
                          Connection.Open();
                      DataSet ds = new DataSet();
                      SqlCommand cmd = new SqlCommand(safeSql, Connection);
      
                      if (values != null)
                          cmd.Parameters.AddRange(values);
      
                      SqlDataAdapter da = new SqlDataAdapter(cmd);
                      try
                      {
                          da.Fill(ds, tabName);
                      }
                      catch (Exception ex)
                      {
      
                      }
                      return ds;
                  }
              }
              #endregion
      
              #region ExecureData 命令
              /// <summary>
              /// 批量修改數據
              /// </summary>
              /// <param name="ds">修改過的DataSet</param>
              /// <param name="strTblName">表名</param>
              /// <returns></returns>
              public static int ExecureData(DataSet ds, string strTblName)
              {
                  try
                  {
                      //創建一個數據庫連接
                      using (SqlConnection Connection = new SqlConnection(connectionString))
                      {
                          if (Connection.State != ConnectionState.Open)
                              Connection.Open();
      
                          //創建一個用于填充DataSet的對象
                          SqlCommand myCommand = new SqlCommand("SELECT * FROM " + strTblName, Connection);
                          SqlDataAdapter myAdapter = new SqlDataAdapter();
                          //獲取SQL語句,用于在數據庫中選擇記錄
                          myAdapter.SelectCommand = myCommand;
      
                          //自動生成單表命令,用于將對DataSet所做的更改與數據庫更改相對應
                          SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(myAdapter);
      
                          return myAdapter.Update(ds, strTblName);  //更新ds數據
                      }
      
                  }
                  catch (Exception err)
                  {
                      throw err;
                  }
              }
      
              #endregion
      
      
      
      
      
              public static void TableValuedToDB(DataTable dt)
              {
                  SqlConnection sqlConn = new SqlConnection(connectionString);
                  const string TSqlStatement =
                   "insert into [BarCodeRecordes9] (is_add,qr_code,integral,created_time,id,terminal_code)" +
                   " SELECT is_add,qr_code,integral,created_time,id,terminal_code" +
                   " FROM @NewBulkTestTvp AS nc";
                  SqlCommand cmd = new SqlCommand(TSqlStatement, sqlConn);
                  SqlParameter catParam = cmd.Parameters.AddWithValue("@NewBulkTestTvp", dt);
                  catParam.SqlDbType = SqlDbType.Structured;
                  //表值參數的名字叫BulkUdt,在上面的建立測試環境的SQL中有。  
                  catParam.TypeName = "dbo.BulkUdt";
                  try
                  {
                      sqlConn.Open();
                      if (dt != null && dt.Rows.Count != 0)
                      {
                          cmd.ExecuteNonQuery();
                      }
                  }
                 catch (Exception ex)
                  {
                      throw ex;
                  }
                  finally
                  {
                      sqlConn.Close();
                  }
              }
                
          }
      

        使用

      TableValuedToDB方法導入 每次導入一百萬條,依次分頁導入了9次。

      大數據(857萬條數據)導入使用時間為:  362708 毫秒,  大概4分鐘多一點。

      TableValuedToDB(DataTable dt) 方法中 dt注意一定要和 數據庫 類型 BulkUdt 中定義的列保持一致。


      保證你的數據庫存在該類型。自定義表類型。

      CREATE TYPE dbo.BulkUdt AS TABLE 
      (
      	    [is_add] [bit] NULL,
              [qr_code] [nvarchar](255) NULL,
              [integral] [decimal](18, 2) NULL,
              [created_time] [datetime] NULL,
              [id] [bigint] NOT NULL PRIMARY KEY ,
      		[terminal_code] [nvarchar](255) NULL
      )
      

        



       

      posted @ 2021-04-13 10:44  Vincent_void  閱讀(351)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲午夜精品久久久久久浪潮| 91色老久久精品偷偷蜜臀| 野外做受三级视频| 漂亮人妻被中出中文字幕| 亚洲sm另类一区二区三区| 亚洲美女少妇偷拍萌白酱| 亚洲天堂av在线一区| 国产精品自拍中文字幕| 日本三线免费视频观看| 国产不卡一区不卡二区| 国产va在线观看免费| 人妻系列中文字幕精品| 国产黄色一区二区三区四区| 老太脱裤让老头玩ⅹxxxx| 麻豆国产传媒精品视频| 亚洲av永久无码天堂影院| 无码AV无码天堂资源网影音先锋| 国产精品中文字幕自拍| 国产成人无码A区在线观看视频| 成人免费精品网站在线观看影片| 97久久综合亚洲色hezyo| 国产在线国偷精品产拍| 性少妇tubevⅰdeos高清| 欧美成人精品三级在线观看| 国语精品国内自产视频| 亚洲高清 一区二区三区| 高清有码国产一区二区| 国产一区二区爽爽爽视频| 国内精品视频区在线2021| 国内精品久久久久影院薰衣草| 91高清免费国产自产拍| 99久久99久久久精品久久| 中文字幕va一区二区三区| 欧美福利电影A在线播放| 日日碰狠狠躁久久躁综合小说| 国产成本人片无码免费| 亚洲 日本 欧洲 欧美 视频| 合作市| 永久免费的av在线电影网| 男女性高爱潮免费网站| 亚洲综合网国产精品一区|