-
需求,将数据表中的数据,按照字段A,分组后,并以字段A为db文件名,导出。
-
实现方式,先按照字段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中执行时,会很慢,使用事务批量插入,则只需要开启一次事务处理过程。极大提高插入的速度。