Ios 比较sqlite表中的整数?
我在比赛中有一个高分表。游戏结束后,分数将显示在屏幕上,并插入高分表。我想知道如何将新分数与表中的最高分数进行比较,以便让用户知道他们是否获得了高分。下面我包含了我用来更新并将分数插入表中的代码。保留的分数是一个整数,即globalScoreIos 比较sqlite表中的整数?,ios,iphone,sqlite,sdk,compare,Ios,Iphone,Sqlite,Sdk,Compare,我在比赛中有一个高分表。游戏结束后,分数将显示在屏幕上,并插入高分表。我想知道如何将新分数与表中的最高分数进行比较,以便让用户知道他们是否获得了高分。下面我包含了我用来更新并将分数插入表中的代码。保留的分数是一个整数,即globalScore -(void)updateScores:(NSInteger)Primary_key { sqlite3_stmt *statement=nil; NSString *sql=nil; @try { st
-(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;
}
所以我要找的是这样的东西
if(globalScore > "the highest score in the table"){
highscorelabel.hidden=NO;
}
您可以使用以下命令检索表中的最高分数:
select max(Score) from tblHard
您可以使用sqlite3\u column\u int检索此SQL查询的结果。以下是为简洁起见删除的代码错误检查:
int highestScore;
/* ... */
sqlite3_prepare_v2(database, "select max(Score) from tblHard", -1,
&statement, NULL);
sqlite3_step(statement);
highestScore = sqlite3_column_int(statement, 0);
然后您可以将当前的最高分数与globalScore进行比较:
我需要能够将其与GameViewControllerEdit中的新分数进行比较。我添加了执行查询和检索结果的代码。
if (globalScore > highestScore) {
/* ... */
}