使用 drapper 批量更新list 到数据库中

  1. 需求,将数据表中的数据,按照字段A,分组后,并以字段A为db文件名,导出。

  2. 实现方式,先按照字段A分组获取需要导出的数据,然后,建表并导出数据
    主要技术: 将需要导出的list|数据批量导出到数据表中。

主要代码


                using (IDbConnection connection = new SQLiteConnection($"Data Source={dbfile};"))
                {
     
                    connection.Open();
                    //建表
                    //插入数据

                    string createSql = "CREATE TABLE DATA (IRes INTEGER,BTIME VARCHAR(20),KeyId VARCHAR(16),Bill VARCHAR(100),Qr VARCHAR(100),QrShort VARCHAR(32),State INTEGER)";

                    connection.Execute(createSql);
string insertsql = "INSERT INTO DATA(IRes,BTIME,KeyId,Bill,Qr,QrShort,State)VALUES(@IRes,@BTIME,@KeyId,@Bill,@Qr,@QrShort,@State)";
                  
System.Data.SQLite.SQLiteTransaction trans = (SQLiteTransaction)connection.BeginTransaction();

                    connection.Execute(insertsql, file.dataLst, transaction: trans);///file.dataLst就是需要导出到数据表的数据

                    trans.Commit();

                    connection.Close();
                }

注意:
insert 语句在sqlite中执行时,会很慢,使用事务批量插入,则只需要开启一次事务处理过程。极大提高插入的速度。

你可能感兴趣的:(sqlite)