Delphi SQLite缓存的更新和自动增量字段

时间:2018-09-18 11:42:42

标签: sqlite delphi auto-increment firedac

我正在使用缓存更新,以便提高SQLite INSERT查询的速度。我面临的问题是,在我有INSERT的循环内,我使用的是自动递增值。

我正在使用TFDConnection和TFDQuery来实现我的数据库编写部分。

在继续下一个Post()之前,我需要前一个自动增量值的值。问题在于,除非调用TFDquery.ApplyUpdates(),否则不会生成自动增量值。

那么,有没有一种方法可以使用CachedUpdates,但是还可以保留在调用TFDquery.ApplyUpdates()之后生成的自动增量值?

我想到的一个想法是,使用TFDConnection.GetLastAutoGenValue()获取最后生成的值,并计算需要多少行。例如,如果我知道将插入5行并且最后一个自动生成的值是300,那么我知道下一个值将是301,302,303,304,305。整个问题在于,我无法控制与下一个Post()相关的值。

0 个答案:

没有答案