继我之前的一个与方法设计有关的问题之后,我被建议将我的SQL查询实现为参数化查询,而不是简单的字符串.
我之前从未使用参数化查询,所以我决定从简单的开始,采取以下Select语句:
String select = "SELECT * FROM ? ";
PreparedStatement ps = connection.prepareStatement(select);
ps.setString(1, "person");
Run Code Online (Sandbox Code Playgroud)
这给了我以下错误:"[SQLITE_ERROR] SQL错误或缺少数据库(接近"?":语法错误)"
然后我尝试了一个具有附加标准的修改版本;
String select = "SELECT id FROM person WHERE name = ? ";
PreparedStatement ps = connection.prepareStatement(select);
ps.setString(1, "Yui");
Run Code Online (Sandbox Code Playgroud)
这个版本工作正常,在我的第一个例子中,我错过了参数化查询的要点,还是我错误地构造它们?
谢谢!