使用:
String query = "DELETE FROM Candidates WHERE COD = ?";
declaratie.setInt(1, 11);
它起作用了。
但是,如果我使用这个表达式:
String query = "DELETE FROM Candidati WHERE ? = ?";
declaratie.setString(1, "COD");
declaratie.setInt(2, 11);
它运行,没有错误,但什么也不做。。。
我用错了吗?
最佳答案
第二个表达式没有任何作用,因为条件是“错误的”:条件是'COD' = 11
,其计算结果是false
,因为第一个参数是字符串,而不是COD = 11
。
不能使用准备好的语句修改查询或提交列名。只能传递作为参数处理的值。