我正在使用SQLite3的东西,我不能准确找出为什么我得到一个错误。我已经看过其他SO帖子,没有人能够真正相当的指责这个错误,我已经尝试了一些东西。该代码在此行上失败(sqlite3_open(dbPath, &itemDB)==SQLITE_OK)
。 我曾尝试:sqlite3查询不被执行
- 注释该行并说
sqlite3_open(dbPath, &itemDB)
,当我这样做,我的代码excecutes,但没有文件夹中从NSLog的 - 错误“无法打开数据库文件”,所以我创建的datbase并将其放置在路径中以查看是否有帮助,但没有区别
通过使用断点验证路径,路径是正确的,但数据库只是从未创建。
-(void)openDatabase { NSArray *path=NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES); NSString *docPath=[path objectAtIndex:0]; // dbPathString=[docPath stringByAppendingPathComponent:@"items.db"]; dbPathString = [docPath stringByAppendingPathComponent:@"items.sqlite"]; char *error; NSFileManager *fileManager=[NSFileManager defaultManager]; if (![fileManager fileExistsAtPath:dbPathString]) { const char *dbPath=[dbPathString UTF8String]; //Create DB if (sqlite3_open(dbPath, &items)==SQLITE_OK) // sqlite3_open(dbPath, &items); { const char *sql_stmt= " CREATE TABLE IF NOT EXIST PERSON (ID INTEGER PRIMARY KEY AUTOINCREMENT,NAME TEXT,PRICE INTEGER)"; sqlite3_exec(items, sql_stmt, NULL, NULL, &error); sqlite3_close(items); NSLog(@"Db Created"); } NSLog(@"%s", sqlite3_errmsg(items)); } }
哇......只是哇。从来没有看到过,问题是当我键入“NSD”我只是因为智能卡出现,并刚刚完成它。很简单 – 2014-09-24 11:16:15