我有我的Mac OSX的SQLite Studio,我在那里创建我的Schemas,在MySQL中我使用DBFork Manager一个案例工具来制作我的Schemas,我导出sql文件然后导入MySQL Server,所以我想做同样的事情对于使用SQLite的iOS应用程序。
我的意思是,我制作了我的SQLite Schema,然后我需要从* .sql文件导入我的应用程序,我使用SQL字符串给我的代码示例...希望你能帮助我!
- (void)viewDidLoad {
NSString *docsDir;
NSArray *dirPaths;
// Get the documents directory
dirPaths = NSSearchPathForDirectoriesInDomains(
NSDocumentDirectory, NSUserDomainMask, YES);
docsDir = dirPaths[0];
// Build the path to the database file
_databasePath = [[NSString alloc]
initWithString: [docsDir stringByAppendingPathComponent:
@"contacts.db"]];
NSFileManager *filemgr = [NSFileManager defaultManager];
if ([filemgr fileExistsAtPath: _databasePath ] == NO)
{
const char *dbpath = [_databasePath UTF8String];
if (sqlite3_open(dbpath, &_contactDB) == SQLITE_OK)
{
char *errMsg;
const char *sql_stmt =
"CREATE TABLE IF NOT EXISTS CONTACTS (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT, ADDRESS TEXT, PHONE TEXT)";
if (sqlite3_exec(_contactDB, sql_stmt, NULL, NULL, &errMsg) != SQLITE_OK)
{
_status.text = @"Failed to create table";
}
sqlite3_close(_contactDB);
} else {
_status.text = @"Failed to open/create database";
}
}
[super viewDidLoad];
}
答案 0 :(得分:2)
我假设您在SQLite中有一个数据库文件,并希望将其安装在iPhone上使用。如果在程序中编译它,那么它将在文件包中。但是,这是只读的,因此如果您想要更改数据库,则需要将其复制到iphone的文档目录(或其他更合适的目录)。看看这个stackoverflow问题的答案: