Я работаю над проектом 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.