Opening multiple databases with SQLite
发布时间:2020-12-12 20:17:44 所属栏目:百科 来源:网络整理
导读:@interface database : NSObject { sqlite3 * db ; sqlite3_stmt query NSString queryString dbPath } - ( void ) opendb ( BOOL attach_user_databases @end @implementation database opendb dbpath = [[ NSBundle mainBundle ] pathForResource :@ "leve
@interface database : NSObject { sqlite3 * db; sqlite3_stmt query NSStringqueryStringdbPath } -(void) opendb(BOOLattach_user_databases @end@implementation database opendb dbpath =[[NSBundle mainBundle] pathForResource:@"levels" ofType"db"]; sqlite3_open([dbpath UTF8String],&db); [self attach_user_databases sqlite3_prepare_v2,0)">[queryString UTF8String-1query NULLattach_user_databases int dbcount 0 result NSFileManagerfm [ defaultManagerNSArraypaths NSSearchPathForDirectoriesInDomains(NSDocumentDirectoryNSUserDomainMask YESdocumentsDirectory paths objectAtIndex:NSDirectoryEnumeratordocs fm enumeratorAtPathdocumentsDirectoryfilewhile((file docs nextObject])) if([[file pathExtension isEqualToString"sqlite3"]) ++dbcount fullPath documentsDirectory stringByAppendingPathComponent sqlite3_stmt attach sqlite3_prepare_v2 stringWithFormat"ATTACH DATABASE '%@' AS 'DB%i'"fullPath UTF8String sqlite3_step sqlite3_finalize dbcount == queryString @"SELECT * FROM levels WHERE ROWID=?"return NOelsecviewNSMutableStringcreateView stringWithString"CREATE TEMP VIEW LV AS SELECT * FROM levels"for i=i<=;++createView appendFormat" UNION SELECT * FROM DB%i.levels" sqlite3_prepare_v2createView UTF8String sqlite3_step sqlite3_finalize"SELECT * FROM LV WHERE ROWID=?"@end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |