iOS 开发简单的问题sqlite3_open()打开数据库失败
if(sqlite3_open([[selfdataFilePath]UTF8String],&database)!=SQLITE_OK){NSLog(@"打开失败");...
if (sqlite3_open([[self dataFilePath] UTF8String],&database) != SQLITE_OK)
{
NSLog(@"打开失败");
} //其中[self dataFilePath]就是......./Documentation/data.sqlite这个文件
首先data.sqlite文件是不存在的,照理说通过执行sqlite3_open()后能自动创建出data.sqlite文件,但是没有有创建出,sqlite3_open()没返回SQLITE_OK,打开失败。为什么??最有可能的出错情况是什么? 展开
{
NSLog(@"打开失败");
} //其中[self dataFilePath]就是......./Documentation/data.sqlite这个文件
首先data.sqlite文件是不存在的,照理说通过执行sqlite3_open()后能自动创建出data.sqlite文件,但是没有有创建出,sqlite3_open()没返回SQLITE_OK,打开失败。为什么??最有可能的出错情况是什么? 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏15(财富值+成长值)
1个回答
展开全部
- (void)viewDidLoad {
[super viewDidLoad];
NSString* fileName = [self dataFile];
NSLog(@"%@", fileName);
if (sqlite3_open([fileName UTF8String], &db) != SQLITE_OK) {
sqlite3_close(db);
NSAssert(NO, @"OPEN SQLITE DATABASE ERROR!");
} else {
char* error;
NSString* createSQL = [NSString stringWithFormat:@"CREATE TABLE IF NOT EXISTS %@(%@ TEXT PRIMARY KEY, %@ TEXT, %@% TEXT);",
TABLE_NAME, FIELDS_NAME_SID, FIELDS_NAME_SNAME, FIELDS_NAME_SCLASS];
if (sqlite3_exec(db, [createSQL UTF8String], NULL, NULL, &error)) {
sqlite3_close(db);
NSAssert1(NO, @"CREATE TABLE ERROR", error);
} else {
sqlite3_close(db);
}
}
}
[super viewDidLoad];
NSString* fileName = [self dataFile];
NSLog(@"%@", fileName);
if (sqlite3_open([fileName UTF8String], &db) != SQLITE_OK) {
sqlite3_close(db);
NSAssert(NO, @"OPEN SQLITE DATABASE ERROR!");
} else {
char* error;
NSString* createSQL = [NSString stringWithFormat:@"CREATE TABLE IF NOT EXISTS %@(%@ TEXT PRIMARY KEY, %@ TEXT, %@% TEXT);",
TABLE_NAME, FIELDS_NAME_SID, FIELDS_NAME_SNAME, FIELDS_NAME_SCLASS];
if (sqlite3_exec(db, [createSQL UTF8String], NULL, NULL, &error)) {
sqlite3_close(db);
NSAssert1(NO, @"CREATE TABLE ERROR", error);
} else {
sqlite3_close(db);
}
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询