Ben*_*n L 1 sql sqlite prepared-statement
我正在使用 Java 包装器来访问 Sqlite,但我认为这是一个一般的 Sqlite 问题。
String stmt = "SELECT foo FROM bah WHERE foo='%/?/%';
PreparedStatement a = myConn.prepareStatement(stmt);
a.setString(1, "hello");
a.executeQuery();
Run Code Online (Sandbox Code Playgroud)
...抛出异常 - 它不喜欢 ? 在引号内。如果我这样做一切都很好
...WHERE foo=?
Run Code Online (Sandbox Code Playgroud)
但这不是我想要的声明。
如何将变量插入到这样的准备好的语句中?如果您忘记了我正在使用 Sqlite,那么如何使用其他数据库技术来完成此操作?
我遇到的数据库都不允许您将参数放入字符串文字中。如果支持这一点,那么您必须转义?字符串中不是参数的每个字符。
但是,您可以使用字符串连接来支持您所追求的:
SELECT foo FROM bah WHERE foo = '%/' || ? || '/%'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3392 次 |
| 最近记录: |