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 の 3 つの列があります。しかし、idProfile は int で主キーであるため、自動インクリメントされるため、含める必要はありません。
私が取得し続けるエラーは次のとおりです: SQLITE_ERROR 'near "I": syntax error' (1)
Documents フォルダに書き込んでいます。
どんな助けでも大歓迎です。
大安