我正在尝试在 iOS 应用程序的 SQLite 3 数据库中插入一些数据。但我不断收到一个对我无用的错误。
这是我试图插入的代码:
@try {
NSString *dbPath = [self.GetDocumentDirectory stringByAppendingPathComponent:@"knhb.sqlite"];
BOOL success = [fileMgr fileExistsAtPath:dbPath];
if(!success)
{
NSLog(@"Cannot locate database file '%@'.", dbPath);
}
if((sqlite3_open_v2([dbPath UTF8String], &db, SQLITE_OPEN_READWRITE, NULL) != SQLITE_OK))
{
NSLog(@"An error has occured.");
}
NSString *sqlString = [NSString stringWithFormat:@"INSERT INTO Profile (name, password) VALUES ('%@','%@')", name, password];
const char *sql = [sqlString UTF8String];
sqlite3_stmt *sqlStatement;
if(sqlite3_prepare_v2(db, sql, 1, &sqlStatement, NULL) != SQLITE_OK)
{
NSLog(@"%s SQLITE_ERROR '%s' (%1d)", __FUNCTION__, sqlite3_errmsg(db), sqlite3_errcode(db));
}
sqlite3_step(sqlStatement);
sqlite3_finalize(sqlStatement);
int lastInsert = sqlite3_last_insert_rowid(db);
NSLog(@"lastinsertid:%d", lastInsert);
sqlite3_close(db);
}
@catch (NSException *exception) {
NSLog(@"An exception occured: %@", [exception reason]);
}
我的数据库表 Profile 有三列 idProfile、name 和 password。但是由于 idProfile 是一个 int 和主键,我不必包含它,因为它是自动递增的。
我不断收到的错误是: SQLITE_ERROR 'near "I": syntax error' (1)
我正在写入 Documents 文件夹。
任何帮助是极大的赞赏。
大安