私は SQLITE データベースを初めて使用し、FMDB を使用しています。私のアプリでは、データベースにデータを挿入したいと考えています。次のコードを使用してデータを挿入しました。
-(void)insertBookmark
{
NSString *bundlePath = [[NSBundle mainBundle] bundlePath];
NSString *dbFilePath = [bundlePath stringByAppendingPathComponent:@"ISGData.sqlite"];
FMDatabase *database = [FMDatabase databaseWithPath:dbFilePath];
[database open];
[database executeUpdate:@"INSERT INTO bookmark (pageno) VALUES (?);",page, nil];
NSLog(@"%@",[database lastErrorMessage]);
[database close];
}
ここで、「ブックマーク」は、整数型の「pageno」という名前のエンティティを持つデータベース内のテーブルの名前です。クエリで int 値を渡していると、不正なアクセスを示すアプリがクラッシュします。文字列値を渡すと、ログに「エラーではありません」と表示されますが、値がデータベースに挿入されません。私のコードに間違いはありますか?