iPhone 上的 SQLite 数据库
Posted
技术标签:
【中文标题】iPhone 上的 SQLite 数据库【英文标题】:SQLite database on iPhone 【发布时间】:2013-10-23 08:14:42 【问题描述】:您好,我正在使用 FMDB 来使用 SQLite 数据库。我有下一个代码:
FMDatabase *db = [FMDatabase databaseWithPath:@"stories_db.sqlite"];
[db open];
FMResultSet *resultsFavorite = [db executeQuery:@"SELECT * from favorites"];
但是[db open]上显示错误;
2013-10-23 11:08:22.951 Pasakas[1013:a0b] 错误打开!:14
也许我应该改变路径?
【问题讨论】:
【参考方案1】:您必须提供数据库的路径而不是数据库的名称,
试试
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docsPath = [paths objectAtIndex:0];
NSString *path = [docsPath stringByAppendingPathComponent:@"stories_db.sqlite"];
FMDatabase *db = [FMDatabase databaseWithPath:path];
[db open];
FMResultSet *resultsFavorite = [db executeQuery:@"SELECT * from favorites"];
【讨论】:
+1 但在此之前……您必须将本地数据库文件复制到文档目录……太好了…… 2013-10-23 11:20:24.211 Pasakas[1093:a0b] DB 错误:1“没有这样的表:收藏夹”2013-10-23 11:20:24.212 Pasakas[1093:a0b ] DB Query: SELECT * from favorites 2013-10-23 11:20:24.213 Pasakas[1093:a0b] DB Path: /Users/artjomsfomenko/Library/Application Support/iPhone Simulator/7.0/Applications/645A59FD-1667-4A4B- 8B24-EF87C2A3D271/Documents/stories_db.sqlite CREATE TABLE "offline" ("_id" TEXT PRIMARY KEY NOT NULL UNIQUE , "story_name" TEXT NOT NULL , "video_path" TEXT, "image_path" TEXT)以上是关于iPhone 上的 SQLite 数据库的主要内容,如果未能解决你的问题,请参考以下文章
当 iPhone 的 Appstore 上的应用程序版本更改时,sqlite 数据库更新
iPhone/Sqlite - 如何仅从服务器获取更改的数据?