Tag: sqlite3

删除sqlite的WAL文件是否安全?

在iOS应用程序中,Core Data有一个奇怪的问题,WAL文件有时会变得很大 (〜1GB)。 看来还有其他人有这个问题(例如, 当插入〜5000行时,Core Data的sqlite-wal文件会获得MASSIVE(> 7GB) )。 我最初的想法是在应用程序启动时删除WAL文件。 从阅读关于此事的sqlite文档看来,这将是好的。 但是,有没有人知道这样做的缺点? 我当然想深入了解WAL文件为什么会变得如此之大,但是我现在还不能深究,并且想深入研究这个问题。 值得指出的是我的Core Data数据库更像是一个caching。 因此,如果我丢失了WAL中的数据,这并不重要。 我真正需要知道的是,如果我删除WAL,数据库是否会完全损坏? 我的怀疑是否定的,否则WAL不符合其目的之一。

通过Objective-C创build一个SQLite3数据库文件

我试图在运行时通过Objective-C创build一个SQLite3数据库文件。 我正在尝试创build一个名为“tblStore”的表。 我希望字段名称被称为“strStoreNumber”和“strStoreReg”。 我是iOS和SQLite的新手,所以我很难find执行此操作的语法。 除了创build表格之外,我还希望创build的表格不驻留在应用程序包中,而是存放在手机的某处。 该表需要是可读/可写的。 我已经做了一些阅读“用户沙箱”和“文件目录”。 我不确定我是否了解两者之间的差异。 理想情况下,我的应用程序将使用一个button来从文本字段input。 在将来自文本字段的input放入string之后,将检查是否存在我的“tblStore”SQLite表,如果不存在,将创build表。 回顾一下:1.什么是Obj-C / SQLite创build一个名为“tblStore”的字段为“strStoreNumber”和“strStoreReg”的语法? 2.数据库文件应该放在哪里? 我需要读取和写入tblStore db文件。 3.“用户沙盒”和“文档目录”有什么不同? 这是我目前的: -(IBAction)setInput:(id)sender { NSString *strStoreNumber; NSString *strRegNumber; NSString *tableName = @"tblStore"; NSString *dbStrStore = @"strStore"; NSString *dbStrReg = @"strReg"; strStoreNumber = StoreNumber.text; strRegNumber = RegNumber.text; NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString* documentsDirectory = [paths lastObject]; NSString* databasePath […]

如何在iOS中启动应用程序时复制sqlite数据库?

我想每次启动应用程序时将最新更新的数据库位置的sqlite数据库复制到我的iOS应用程序。 有没有办法做到这一点?

当iPhone上的应用程序版本更改时,sqlite数据库更新

我有一个应用程序1.0版本的应用程序商店,它使用sqlite数据库读取数据。 现在我想更新我的版本到1.1更新数据库文件。 当我在设备上安装应用程序时使用开发人员证书时,它没有更新数据库,因为数据库文件已经存在于文档文件夹中,所以我必须手动删除应用程序并重新安装。 我的问题是,当任何用户更新应用程序,数据库也会根据当前版本更新。 任何build议,欢迎。 谢谢