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