0

我有一个 SELECT 查询,我想知道行数。

我试过了:

sqlite3_data_count(statement);

但它总是返回 0 作为值。

4

2 回答 2

1

SQLite 即时计算结果行,因此在实际读取所有这些行之前,您不知道行数。

您可以执行单独的查询SELECT COUNT(*) FROM (original query),但这意味着查询会执行两次。

相反,您应该使用动态增长的数据结构。

于 2012-12-05T15:46:24.980 回答
1

sqlite3_data_count不是计算行而是计算列。

sqlite3_data_count返回当前执行语句的值(列)数。如果没有结果,它会返回 0。
此处链接
您可以在sqlite3_data_count()的 .h 文档中对其进行验证。

要计算行数,您可以使用以下方法:

SELECT COUNT(*) FROM "mytable"

于 2012-12-05T15:32:01.143 回答