繁体   English   中英

如何在单个 iOS 项目中使用两个 sqlite 数据库文件同时从两个数据库中获取数据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM