使用:

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
不能使用准备好的语句修改查询或提交列名。只能传递作为参数处理的值。

08-17 01:55