【发布时间】:2019-08-05 21:20:29
【问题描述】:
所以我在使用参数化查询并将它们与 C 中的回调函数结合时遇到了一些问题。
因此,使用 sqlite3_exec(...) 您可以执行 SQL 查询并提供回调函数作为参数。回调函数用于打印查询输出
但我想使用参数化查询,所以我必须使用 sqlite3_prepare_v2(),它是 sqlite3_bind 函数之一,sqlite3_step() 和 sqlite3_finalize(),它们不支持将回调函数作为参数。
还有其他功能可以让我两全其美吗? (旁注:我尝试执行的 SQL 语句只是单行查询)
【问题讨论】:
-
对最初提出的问题的简短回答:否。
-
您在将标准准备语句 API 与回调函数结合时遇到的问题的本质是什么?如果正如我将您解释为您所说的那样,无论如何您只想执行一个 SQL 语句,您寻求获得什么优势? 那些是我们可以帮助您的事情。
-
问题是:1)我正在编写的函数需要我使用回调函数来打印输出。 -> 问题 1:如果我使用参数化查询,这还不够。 2)如果我使用参数化查询,我不太确定如何打印出 SQL 查询输出(所有列)。
-
使用
sqlite3_column_XXX()函数在您逐步浏览结果行时访问返回值。