gpt4 book ai didi

ios - 比较sqlite表中的整数?

转载 作者:行者123 更新时间:2023-11-28 17:48:29 26 4
gpt4 key购买 nike

我的游戏中有一个高分表。游戏结束后,屏幕上会显示分数并将其插入高分表。我想知道如何将新分数与表中的最高分数进行比较,以便让用户知道他们是否获得了高分。下面我包含了我用来更新分数并将其插入表中的代码。保留的分数是一个整数,globalScore。

-(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_column_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进行比较:

if (globalScore > highestScore) {
/* ... */
}

关于ios - 比较sqlite表中的整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2347497/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com