sqlite多行插入_sqlite 插入多条数据 并返回添加行的自增ID

本文探讨在WPF应用中使用SQLite数据库批量插入数据时如何优化性能并获取自增ID。针对一次性插入多条记录的需求,讨论了不使用事务的性能影响和使用事务时如何获取插入ID的问题,提出了查询最大ID和使用sqlite3_last_insert_rowid函数的方案,同时寻求在性能和获取ID间找到平衡的方法。
摘要由CSDN通过智能技术生成

场景:

现在使用WPF 绑定数据源(List类似类型的链表类),

这个数据源有可能在一个时间内写入多条记录到Sqlite数据库中,也有可能在很短的时间内写入一条数据到数据(PS:时间可能很快)。

这个程序主要是用于设备通讯的。主要是采集设备上报的一些数据,通过数据在后台进行分析解析,然后将解析后的结果存到数据库中。

由于涉及到画面的数据绑定,并不能每添加一次数据库就进行一次数据库的查询,所以在写入到数据库前是可以做出那个写入对象,但是这个写入对象的数据库主键ID(自增字段)是无法得知的。数据库在本地存放的,并不是网络型的数据库。

数据库:sqlite3 开发工具:vs2012

数据库DLL 使用的是Sqlite官方的 System.Data.Sqlite.dll   (32位版,具体版本号记不清了) 使用技术 WPF

手写部分的代码吧,有可能不对

添加的对象:

InsertEventData = new EventData();

InsertEventData.Data = XXXXX;InsertEventData.time = XXXXX;

数据库插入语句:

SqliteDataCommand command= new SqliteDataCommand();

command.CommandText = "insert into table1 (data,time,.....) values ('xxxxx','xxxx',....)";

command.ExecuteQueueCount();

大体是这样吧。

百度&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值