我有一个 SELECT 查询,我想知道行数。
我试过了:
sqlite3_data_count(statement);
但它总是返回 0 作为值。
SQLite 即时计算结果行,因此在实际读取所有这些行之前,您不知道行数。
您可以执行单独的查询SELECT COUNT(*) FROM (original query)
,但这意味着查询会执行两次。
相反,您应该使用动态增长的数据结构。
sqlite3_data_count
不是计算行而是计算列。
sqlite3_data_count
返回当前执行语句的值(列)数。如果没有结果,它会返回 0。
此处链接
您可以在sqlite3_data_count()的 .h 文档中对其进行验证。
要计算行数,您可以使用以下方法:
SELECT COUNT(*) FROM "mytable"