当我尝试使用 sqlite3_bind_text 函数进行选择时,我遇到了问题。
目的是在我的数据的 10 分钟时间段内获得最新值。
如果我使用准备好的语句并绑定我的值,则结果与使用 SQL 语法的普通字符串相比是不同的。
两个测试的 SQL 语法“应该”相同。
当代码运行时,我得到以下输出:
test 1 = 0.000000 AnalogRPM <-- Error
test 2 = 7.700000 7.69999980926514 <-- Correct value
Run Code Online (Sandbox Code Playgroud)
在我看来,我的绑定语句返回的是列名而不是值(好像值被插入为“AnalogRPM”
你们中有人经历过类似的事情吗?或者你能在我的代码中看到任何错误吗?
任何反馈表示赞赏:)
char str[1000];
sqlite3_stmt *test1;
/** First test, use prepared statement to get double value */
snprintf(str, sizeof(str),
"select ? from DATA WHERE ts_sec BETWEEN ? AND ? ORDER BY rowid DESC LIMIT 1");
/** All 'rc' are check in my code, i just left them out to make it …Run Code Online (Sandbox Code Playgroud)