J'ai une table de scores élevés dans mon jeu. Lorsque le jeu est terminé, le score est affiché à l'écran et il est inséré dans le tableau des meilleurs scores. Je veux savoir comment comparer le nouveau score au score le plus élevé dans le tableau afin que je puisse indiquer à l'utilisateur s'il a obtenu un score élevé. Ci-dessous j'ai inclus le code que j'utilise pour mettre à jour et insérer le score dans le tableau. Le score conservé est un entier, globalScore.Comparer des entiers dans une table sqlite?
-(void)updateScores:(NSInteger)Primary_key
{
sqlite3_stmt *statement=nil;
NSString *sql=nil;
@try
{
statement=nil;
sql=nil;
sql=[NSString stringWithFormat:@"update tblHard set Score=? where id=%d",Primary_key];
if(sqlite3_prepare_v2(database, [sql UTF8String], -1, &statement, NULL)!=SQLITE_OK)
{
NSAssert1(0, @"Error: failed to prepare statement with message '%s'.", sqlite3_errmsg(database));
}
sqlite3_bind_int(statement, 1, globalScore);
int success=sqlite3_step(statement);
if (success == SQLITE_ERROR) {
NSAssert1(0, @"Error: failed to insert into the database with message '%s'.", sqlite3_errmsg(database));
}
sqlite3_finalize(statement);
statement=nil;
sql=nil;
}
@catch (NSException *e)
{
NSLog(@"asd");
}
}
-(int)InsertGame
{
int i=0;
sqlite3_stmt *statement=nil;
NSString *sql=nil;
@try
{
statement=nil;
sql=nil;
sql=[NSString stringWithFormat:@"insert into tblHard(Score) values (?)"];
if(sqlite3_prepare_v2(database, [sql UTF8String], -1, &statement, NULL)!=SQLITE_OK)
{
NSAssert1(0, @"Error: failed to prepare statement with message '%s'.", sqlite3_errmsg(database));
}
sqlite3_bind_int(statement, 1, globalScore);
int success=sqlite3_step(statement);
if (success == SQLITE_ERROR) {
NSAssert1(0, @"Error: failed to insert into the database with message '%s'.", sqlite3_errmsg(database));
}
i= sqlite3_last_insert_rowid(database);
sqlite3_finalize(statement);
statement=nil;
sql=nil;
}
@catch (NSException *e)
{
NSLog(@"asd");
}
return i;
}
Alors, que je cherche quelque chose comme ça ...
if(globalScore > "the highest score in the table"){
highscorelabel.hidden=NO;
}
Je dois être en mesure de le comparer à la nouvelle partition mon GameViewController – NextRev
Édité. J'ai ajouté le code pour exécuter la requête et récupérer le résultat. –