Thank to your comments, I spend more time on it and it appear that in some cases, casting value as int won't work with sqlite, so the wrong part of my code was the following one:
// Save all users
[database open];
[database executeUpdate:@"INSERT INTO userList (id, idValue, name, gender, age, weight, tall, qq, email, phone, geneA, geneB, geneDr, geneA2, geneB2, geneDr2) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", [NSNumber numberWithInt:(int)[tempDic objectForKey:@"id"]*200], [NSNumber numberWithInt:(int)[tempDic valueForKey:@"id"]], [NSString stringWithFormat:@"%@", [tempDic objectForKey:@"name"]], [NSString stringWithFormat:@"%@", [tempDic objectForKey:@"gender"]], [NSNumber numberWithInt:(int)[tempDic objectForKey:@"age"]], [NSNumber numberWithInt:(int)[tempDic objectForKey:@"weight"]], [NSNumber numberWithInt:(int)[tempDic objectForKey:@"tall"]], [NSString stringWithFormat:@"%@", [tempDic objectForKey:@"qq"]], [NSString stringWithFormat:@"%@", [tempDic objectForKey:@"email"]], [NSNumber numberWithInt:(int)[tempDic objectForKey:@"phone"]], [NSNumber numberWithInt:(int)[tempDic objectForKey:@"geneA"]], [NSNumber numberWithInt:(int)[tempDic objectForKey:@"geneB"]], [NSNumber numberWithInt:(int)[tempDic objectForKey:@"geneDr"]], [NSNumber numberWithInt:(int)[tempDic objectForKey:@"geneA2"]], [NSNumber numberWithInt:(int)[tempDic objectForKey:@"geneB2"]], [NSNumber numberWithInt:(int)[tempDic objectForKey:@"geneDr2"]], nil];
NSLog(@"the inserted value in column 'idValue' is: %@" ,[tempDic objectForKey:@"id"]);
[database close];
It appear that the good way to it is to call the method intValue:
// Save all users
[database open];
[database executeUpdate:@"INSERT INTO userList (id, idValue, name, gender, age, weight, tall, qq, email, phone, geneA, geneB, geneDr, geneA2, geneB2, geneDr2) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", [NSNumber numberWithInt:[[tempDic objectForKey:@"id"]intValue]*200], [NSNumber numberWithInt:[[tempDic valueForKey:@"id"] intValue]], [NSString stringWithFormat:@"%@", [tempDic objectForKey:@"name"]], [NSString stringWithFormat:@"%@", [tempDic objectForKey:@"gender"]], [NSNumber numberWithInt:[[tempDic objectForKey:@"age"] intValue]], [NSNumber numberWithInt:(int)[tempDic objectForKey:@"weight"]], [NSNumber numberWithInt:[[tempDic objectForKey:@"tall"] intValue]], [NSString stringWithFormat:@"%@", [tempDic objectForKey:@"qq"]], [NSString stringWithFormat:@"%@", [tempDic objectForKey:@"email"]], [NSNumber numberWithInt:[[tempDic objectForKey:@"phone"] intValue]], [NSNumber numberWithInt:[[tempDic objectForKey:@"geneA"] intValue]], [NSNumber numberWithInt:[[tempDic objectForKey:@"geneB"] intValue]], [NSNumber numberWithInt:[[tempDic objectForKey:@"geneDr"] intValue]], [NSNumber numberWithInt:[[tempDic objectForKey:@"geneA2"] intValue]], [NSNumber numberWithInt:[[tempDic objectForKey:@"geneB2"] intValue]], [NSNumber numberWithInt:[[tempDic objectForKey:@"geneDr2"] intValue]], nil];
NSLog(@"the inserted value in column 'idValue' is: %@" ,[tempDic objectForKey:@"id"]);
[database close];
Thank for your help, I am learning everyday thank to stackOverflow community.