[英]How to use two sqlite database files in single iOS project with simultaneously fetch data from both Database
我的要求是在我的项目中添加两个SQLite
数据库文件。 我知道这是可能的。 但是如何同时访问两个数据库文件呢?
目前我正在使用FMDB
来操作数据库操作的FMDB
件事。
注意:我的两个数据库文件大小都接近1GB
。 所以还想知道,如果我使用 2 DB 文件,那么我的应用程序中是否会出现任何内存问题?
谢谢。
通常,在一个项目中很少需要 2 个数据库文件,特别是在我们只使用一个数据库的 iOS 中。
但是根据您的要求,我们可以在具有多个数据库实例的单个项目中使用多个数据库文件。
要创建 2 个实例,请使用以下 SQLite Native 代码:
//Create Object of DataBase
static sqlite3 *databaseOne = nil;
static sqlite3 *databaseTwo = nil;
//Open Both Databases while we needed in our project
//Open First Database
sqlite3_open([path UTF8String], &databaseOne);
//Opne Second Database
sqlite3_open([path UTF8String], &databaseTwo);
//prepare for statement execution
sqlite3_prepare_v2(databaseOne, [sql UTF8String], -1, &stmt, NULL)
sqlite3_prepare_v2(databaseTwo, [sql UTF8String], -1, &stmt, NULL)
但是请确保在执行时不会混合这两个对象。
注意:在完成数据库任务后关闭两个连接。
要使用 FMDB 创建 2 个实例,请使用以下代码:
//First DB
FMDatabase *dbOne = [FMDatabase databaseWithPath:<your first DB file Path>];
[dbOne open];
//Do Your DB task
[dbOne close];
//Second DB
FMDatabase *dbTwo = [FMDatabase databaseWithPath:<your second DB file Path>];
[dbTwo open];
//Do Your Second DB task
[dbTwo close];
希望这会帮助你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.