gpt4 book ai didi

objective-c - Bool 值的 Sqlite 问题

转载 作者:搜寻专家 更新时间:2023-10-30 19:49:07 24 4
gpt4 key购买 nike

我有一个包含 3 个 Bool 列的表。

  1. 看不见的违约 1
  2. AnsweredCorrect 默认值 0
  3. 回答错误默认 0

现在所有 Unseen 行都是 1,AnsweredCorrect 0 和 AnsweredWrong 0。现在我想计算所有 3 列的 ON 值。我在问

SELECT SUM(Unseen) as Unseen, SUM(AnsweredCorrect) as Correct, SUM(AnsweredWrong) as Wrong FROM table_name 

当我在 Sqlite 浏览器中运行这个查询时,它返回

看不见的 20,正确 0,错误 0

这是对的。但是当我在代码中使用它时,它返回所有值 0。

FMResultSet *query = [db executeQuery:[NSString stringWithFormat:@"SELECT SUM(Unseen) as Unseen, SUM(AnsweredCorrect) as Correct, SUM(AnsweredWrong) as Wrong FROM %@;",tableName]];

[counters addObject:[NSNumber numberWithInt:[query intForColumn:@"Unseen"]] ];
[counters addObject:[NSNumber numberWithInt:[query intForColumn:@"Correct"]] ];
[counters addObject:[NSNumber numberWithInt:[query intForColumn:@"Wrong"]] ];

我正在使用 FMDB 进行数据库操作。怎么了?

感谢您的帮助!

最佳答案

这没有多大意义,所以我建议您先做一些检查。

你需要弄清楚你在做什么。

很可能您认为您正在连接到一个数据库文件,但实际上您连接的是另一个。

尝试在应用程序的代码中完成所有创建和添加数据步骤,而不是在应用程序外部创建数据库表。

这意味着您正在连接到您正在读取的同一个 sqlite 文件。

如果这有效,即 SQL 返回 1、0、0,然后找到新的 SLQlite 数据库文件。

另一种方法是删除您认为正在读取的 SQLite 文件,如果代码仍然有效,那么您已连接到另一个 SQLite 数据库文件。

如果您连接到正确的文件,请尝试更改数据库中的值,将一些值添加到其他列。

关于objective-c - Bool 值的 Sqlite 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23698463/

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