【发布时间】:2011-08-24 09:16:00
【问题描述】:
sqlite 可以创建内存数据库,但是可以在 iPhone 上完成吗?
这是在 sqlite 中的文档状态 http://www.sqlite.org/inmemorydb.html
我尝试过,但失败了。它成功创建数据库,但未能创建表。 以下是我的代码:
-(BOOL) open{
NSString *path = @"";
if(sqlite3_open([path UTF8String], &database_) == SQLITE_OK) {
//bFirstCreate_ = YES;
NSLog(@"open == YES");
[self createChannelsTable:database_];
return YES;
} else {
sqlite3_close(database_);
NSLog(@"Error: open database file.");
return NO;
}
return NO;
}
- (BOOL) createChannelsTable:(sqlite3*)db{
NSString *comment = [[NSString alloc] init];
comment = @"CREATE TABLE Temp(Name text, Address text}";
sqlite3_stmt *statement;
if(sqlite3_prepare_v2(db, [comment UTF8String], -1, &statement, nil) != SQLITE_OK) {
NSLog(@"Error: failed to prepare statement:create channels table");
return NO;
}
int success = sqlite3_step(statement);
sqlite3_finalize(statement);
if ( success != SQLITE_DONE) {
NSLog(@"Error: failed to dehydrate:CREATE TABLE channels");
return NO;
}
NSLog(@"Create table 'channels' successed.");
return YES;
}
【问题讨论】:
标签: iphone database sqlite in-memory