• Sqlite 快速插入数据到本地表中


    用原始Insert方法太慢,网上找到了
    https://www.cnblogs.com/yisen-code/p/6897524.html

    思路是:

    开启事务,开启预处理,然后把SQL用参数传入具体值来快速写入数据,本地测试,2W条写入本地不到1秒。

    分享给大家

            public void Quick_HG_Insert(DataTable dt)
            {
    
                try
                {
                    var conn = GetConnection();
                    using (var dbTrans = conn.BeginTransaction())
                    {
                        var cmd = new SQLiteCommand();
                        cmd.Connection = conn;
                        cmd.Prepare();//开启预处理
    
                        cmd.CommandText = "Insert Into BoxScanRank(BoxScanNO,BoxCount,PONO,Rank) Values(@BoxScanNO,@BoxCount,@PONO,@Rank)";
                        var sp = new SQLiteParameter[4];
                        foreach (DataRow row in dt.Rows)
                        {
                            sp[0] = new SQLiteParameter("@BoxScanNO", row["BoxScanNO"]);
                            sp[1] = new SQLiteParameter("@BoxCount", row["BoxCount"]);
                            sp[2] = new SQLiteParameter("@PONO", row["PONO"]);
                            sp[3] = new SQLiteParameter("@Rank", row["Rank"]);
                            cmd.Parameters.AddRange(sp);
                            cmd.ExecuteNonQuery();
                        }
                        dbTrans.Commit();
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
  • 相关阅读:
    基础数据补充
    购物车
    小数据池、深浅拷贝和集合
    列表、元组和range
    小数据池、深浅拷贝和集合练习
    字典
    字符串练习
    列表练习
    练习
    字典练习
  • 原文地址:https://www.cnblogs.com/chinabc/p/9169322.html
Copyright © 2020-2023  润新知