gpt4 book ai didi

ios - 如何找出SQLITE查询结果为NULL?

转载 作者:行者123 更新时间:2023-11-29 02:46:31 24 4
gpt4 key购买 nike

我在我的应用中使用了以下方法,

-(int) getMax:(NSString *)subItemName second :(int) tableID
{
int count1=0;
sqlite3_stmt *statement;
NSString *query = [NSString stringWithFormat:@"Select MAX(NoOfItems) from billTable where SubItemName='%@' AND TableID='%d'",subItemName,tableID];
if (sqlite3_prepare_v2(_database, [query UTF8String], -1, &statement, nil)== SQLITE_OK) {
while (sqlite3_step(statement) == SQLITE_ROW) {
count1 = [[NSString stringWithUTF8String:(char *) sqlite3_column_text(statement, 0)]intValue];
}

sqlite3_step (statement);
}
return count1;
}

如您所见,我的查询将返回行数(一个整数),假设我的查询返回一个 NULL 值(如果 where 子句条件不存在这样的值我的数据库它返回 NULL 值。如何检查它在执行查询后返回 NULL

最佳答案

您可以调用sqlite3_column_type()找出列值的类型:

if (sqlite3_prepare_v2(_database, [query UTF8String], -1, &statement, nil)== SQLITE_OK) {
if (sqlite3_step(statement) == SQLITE_ROW) {
if (sqlite3_column_type(statement, 0) == SQLITE_NULL)
count1 = -1; // or whatever
else
count1 = sqlite3_column_int(statement, 0);
}
sqlite3_finalize(statement);
}

关于ios - 如何找出SQLITE查询结果为NULL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25051642/

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