SQLite3 中的 LIMIT 可以作为绑定参数一起使用吗?
Can I use LIMIT in SQLite3 together as a bound parameter?
是这样的语句
SELECT Name FROM Persons WHERE Name LIKE ?1 LIMIT ?2
可能在 SQLite3 中?对于 ?1
,我可以在语句准备好后绑定一个参数,使用 https://www.sqlite.org/c3ref/bind_blob.html。但这也适用于 ?2
吗?我无法让它工作,现在我担心我必须为 LIMIT 的每个值创建一个单独的语句,比如 1、10、100、1000 等
答案是肯定的。它对 ?2 的工作方式与对 ?1 的工作方式相同。
int iReturn = sqlite3_bind_text(pStmt, index, acValue, -1, SQLITE_TRANSIENT);
对于 limit,index
是 2,acValue 是一个字符串,计算结果为整数。我建议设置 SQLITE_TRANSIENT 以便 SQLite 制作 acValue 的副本。否则必须确保 acValue 不会超出范围。
是这样的语句
SELECT Name FROM Persons WHERE Name LIKE ?1 LIMIT ?2
可能在 SQLite3 中?对于 ?1
,我可以在语句准备好后绑定一个参数,使用 https://www.sqlite.org/c3ref/bind_blob.html。但这也适用于 ?2
吗?我无法让它工作,现在我担心我必须为 LIMIT 的每个值创建一个单独的语句,比如 1、10、100、1000 等
答案是肯定的。它对 ?2 的工作方式与对 ?1 的工作方式相同。
int iReturn = sqlite3_bind_text(pStmt, index, acValue, -1, SQLITE_TRANSIENT);
对于 limit,index
是 2,acValue 是一个字符串,计算结果为整数。我建议设置 SQLITE_TRANSIENT 以便 SQLite 制作 acValue 的副本。否则必须确保 acValue 不会超出范围。