Кэшированные обновления Delphi SQLite и автоинкрементные поля - PullRequest
0 голосов
/ 18 сентября 2018

Я использую кэшированные обновления для увеличения скорости запросов INSERT на SQLites.Проблема, с которой я сталкиваюсь, заключается в том, что внутри цикла, где у меня есть INSERT, я использую автоинкрементное значение.

Я использую TFDConnection и TFDQuery для реализации своей части записи в базу данных.

Прежде чем перейти к следующему Посту (), мне нужно значение предыдущего автоинкрементного значения.Проблема в том, что автоинкрементное значение не генерируется, если только в вызове TFDquery.ApplyUpdates ().

SO есть способ, которым я могу использовать CachedUpdates, но также сохранить автоинкрементные значения, которые будут сгенерированы после вызоваTFDquery.ApplyUpdates ()?

Одна мысль, которая мне пришла в голову, - получить последнее сгенерированное значение с помощью TFDConnection.GetLastAutoGenValue () и вычислить, сколько строк мне понадобится.Например, если я знаю, что я вставлю 5 строк, а последнее автоматически сгенерированное значение было 300, я знаю, что мои следующие значения будут 301, 302, 303, 304, 305.Вся проблема в том, что я не могу контролировать, какие значения соотносятся со следующей записью ().

...