加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读