Objective c 创建表并将数据插入SQLite数据库
我正在尝试检查我的应用程序中的数据库中是否存在表。如果表不存在,我需要创建一条记录并插入其中。这里唯一的问题是每次它都会插入一条新记录,而我只需要该数据库中的一条记录。实现这一目标的最佳方式是什么?我是否应该检查数据库是否存在,然后只在数据库不存在时运行此代码,或者是否有其他方法可以执行此操作Objective c 创建表并将数据插入SQLite数据库,objective-c,sqlite,Objective C,Sqlite,我正在尝试检查我的应用程序中的数据库中是否存在表。如果表不存在,我需要创建一条记录并插入其中。这里唯一的问题是每次它都会插入一条新记录,而我只需要该数据库中的一条记录。实现这一目标的最佳方式是什么?我是否应该检查数据库是否存在,然后只在数据库不存在时运行此代码,或者是否有其他方法可以执行此操作 NSString *strSQL = @"CREATE TABLE IF NOT EXISTS \"Version\" (\"Type\" TEXT,\"Number\" DOUBLE DEFAULT (
NSString *strSQL = @"CREATE TABLE IF NOT EXISTS \"Version\" (\"Type\" TEXT,\"Number\" DOUBLE DEFAULT (null) )";
const char *chrStmt = [strSQL UTF8String];
sqlite3_stmt *cmpStmt;
if(sqlite3_prepare_v2(db_stats, chrStmt, -1, &cmpStmt, NULL) == SQLITE_OK){
sqlite3_step(cmpStmt);
}
sqlite3_finalize(cmpStmt);
strSQL = [NSString stringWithFormat:@"INSERT INTO Version (Type, Number) VALUES ('Database', %f);", db_version];
const char *chrStmt2 = [strSQL UTF8String];
if(sqlite3_prepare_v2(db_stats, chrStmt2, -1, &cmpStmt, NULL) == SQLITE_OK){
sqlite3_step(cmpStmt);
}
sqlite3_finalize(cmpStmt);
我认为,使用NSUserDefaults可以解决您的问题,因为您只需要插入一条记录。