У меня есть приложение, которое вставляет и/или обновляет несколько (100) строк в таблице. В моем приложении одновременно работает только один поток. Каждая строка вычисляется и проверяется перед каждой вставкой/обновлением в нескольких функциях.Обеспечение безопасной работы базы данных SQLite (не относящейся к потокобезопасности)
Я обеспокоен тем, что если приложение прерывается между началом вставки строк и концом, мои данные будут повреждены/неполны. Это возможно?
Я попытался несколько раз прервать процесс с помощью домашнего ключа, это не так, но это не исчерпывающий подход.
Я использую метод singleton, обсуждаемый здесь: Is Sqlite Database instance thread safe, но это не касается моего вопроса.
Используйте [транзакцию] (https://www.sqlite.org/lang_transaction.html) вокруг всех UPDATE и INSERT. –
транзакция вокруг всех обновлений и вставок не будет работать, если я вставляю 200+ строк отдельно. Я подумал, как правильно это сделать (я думаю). Поместите всю информацию о строках в arraylist, затем поместите цикл между начальной и конечной транзакциями, чтобы вставить все строки. Спасибо за ваш комментарий, хотя он указал мне в правильном направлении. – rnorman3
Почему вы принимаете ответ, который рекомендует транзакции, если вы не хотите использовать транзакцию? –