sqlite - 如何使用 ESP32 SQLite3 执行 SQL 计数?
问题描述
我花了很长时间寻找这个问题的答案,但我无法完全理解它。
基本上。我在连接到 esp32 的 sd 卡上有一个 sqlite db。SQLite 完美运行,并在使用标准示例代码时返回。例如:
rc = db_exec(db2, "Select * from domain_rank where domain between 'google.com' and 'google.com.z'");
if (rc != SQLITE_OK) {
sqlite3_close(db1);
sqlite3_close(db2);
return;
}`
这会查看草图中的“db_exec”函数,然后将其传递给“回调”函数。没有这个有办法吗?我要做的就是计算 select 语句中的记录数。
谢谢
安德鲁
解决方案
好的,我想我可能已经找到了解决方案
把它放在这里以防万一其他人感兴趣。
String sql = "Select count(*) from surnames where name = 'MICHELLE'";
rc = sqlite3_prepare_v2(db1, sql.c_str(), 1000, &res, &tail);
if (rc != SQLITE_OK) {
String resp = "Failed to fetch data: ";
Serial.println(resp.c_str());
return;
}
while (sqlite3_step(res) == SQLITE_ROW) {
rec_count = sqlite3_column_int(res, 0);
}
Serial.println(rec_count);
无法完全理解 while 循环在计算单元格时所做的事情,我认为 sql count* 查询只会返回一个我可以直接使用的 int 值。所以我还是有点困惑。
欢迎评论!如果有人有更好的想法?
谢谢
安德鲁
推荐阅读
- algorithm - 矩阵求逆、行列式和伴随的空间复杂度
- sql - 使用 v('APP_USER') 作为 Oracle Apex 中列的默认值
- javascript - 页面自动刷新
- java - 需要帮助从 android studio 中的随机字母生成器广播 logcat
- javascript - Javascript 数组在另一个函数中不起作用(未报告错误)
- react-native - 反应导航不止一个嵌套
- amazon-web-services - 是否可以在 dynamodb 中创建一个没有 GSI 分区键的项目?
- javascript - 在脚本标签中使用 HTML/模板进行 HTML Dom 注入
- python - 下载谷歌图片
- android - Flutter 在 Android Studio 中无限期运行