gpt4 book ai didi

iphone - 从 sqlite 数据库中查找列中的最大值

转载 作者:行者123 更新时间:2023-12-03 21:10:01 24 4
gpt4 key购买 nike

我正在使用以下代码来获取列中的最大值

第 11 列(在代码中表示第 10 列)列名称 uniqueColumnSNoColumn 的数据类型 - 整数。

我对 dbhanlder 使用的语法感到困惑。

这是代码。请告诉我,我将如何实现从指定列返回的最大值。帮助。提前致谢。

+(int)getMaxColumnSNo{

NSInteger favid;
int count=0;
sqlite3 *database;
NSString *dbpath;
dbpath = [dbhandler dataFilePath:DbName];
if (sqlite3_open([dbpath UTF8String], &database) == SQLITE_OK)
{
NSString *selectSql = [NSString stringWithFormat:@"SELECT max(uniqueColumnSNo) FROM CustomerFields"];
sqlite3_stmt *statement;
if (sqlite3_prepare_v2(database, [selectSql cStringUsingEncoding:NSUTF8StringEncoding], -1, &statement, NULL) == SQLITE_OK)
{
while (sqlite3_step(statement) == SQLITE_ROW)
{
//[result addObject:[[NSMutableDictionary alloc] init]];
favid=(NSInteger)sqlite3_column_int64(statement,10);
//favid = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 10)] intValue];
count++;

}
sqlite3_finalize(statement);
}
else
{
NSLog(@"Sql Preparing Error");
}
sqlite3_close(database);
}
else
{
NSLog(@"Database not opening");
}
int i;
if (count!=0) {
i=favid ;

}
else {
i=1;
}

return i;
//return favid;

}

最佳答案

您需要:

sqlite3_column_int64( statement, 0 );

列号参数是结果集的索引,而不是原表列号。结果集中唯一的列是 max(uniqueColumnSNo),因此这是列索引号 0。

关于iphone - 从 sqlite 数据库中查找列中的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3837530/

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