Objective-C SQLite присоединить несколько баз данных - PullRequest
0 голосов
/ 13 июня 2019

Я работаю над проектом IPAD. Проект содержит 1 базу данных sqlite. Я использовал FMDatabase и FMDatabaseQueue.

fmdb = [FMDatabase databaseWithPath:path];
fmdbQ= [FMDatabaseQueue databaseQueueWithPath:path];

И когда я хочу использовать запрос, я использовал код

[fmdbQ inDatabase:^(FMDatabase *db) {
 NSString *sqlQry = [NSString stringWithFormat:@"select * from Product"];
 FMResultSet *rs = [db executeQuery:sqlQry];
}

Теперь я хочу включить еще один файл sqlite. Таким образом, я объединил два sqlite-файла, используя инструкцию ATTACH.

NSString *path = [documentsDirectory stringByAppendingPathComponent:@"file1.sqlite"];
NSString *path2 = [documentsDirectory stringByAppendingPathComponent:@"file2.sqlite"];

fmdb = [FMDatabase databaseWithPath:path];
fmdbQ= [FMDatabaseQueue databaseQueueWithPath:path];

NSString *attachSQL = [NSString stringWithFormat: @"ATTACH DATABASE \'%@\' AS productDB", path2];

bool success = [fmdb  executeStatements:attachSQL];

После присоединения я могу только выполнить запрос, используя FMResultSet * rs = [fmdb executeQuery: sqlQry];

не может выполнять функции FMDatabaseQueue.

...