UpdateQuery 不执行。如何修复此代码?

UpdateQuery doesn't execute. How to fix this code?

我想获取 DATE 列中的日期,并想与 当前日期 进行比较。如果日期 less 当前日期 那么我想 SET PERMISSION[=24= 的值] 列 allow。但是我的查询没有执行。

下面的代码给出了我尝试过的方法。

Date date1 = null;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 
//current date
Date date = new Date();
date1 = date;
CurrentDate.setText(date1.toString());
String UpdateQuery = null;
String Allow = "allow";
UpdateQuery = "UPDATE company SET permission = '"+Allow+"' WHERE date < ?";
pst = conn.prepareStatement(UpdateQuery);                 
SimpleDateFormat dateFormate = new SimpleDateFormat("yyyy-MM-dd");
String addDate = CurrentDate.getText();
pst.setString(2, addDate);
pst.executeUpdate();
System.out.println("Updated");

I want to get a value of permission table to SET to "allow" when the update query is executing;

pst.setString(2, addDate);

我认为应该改为:

pst.setString(1, addDate);

因为你的准备语句中只有一个参数。

此外,比较日期时,您需要用单引号将它们括起来,因此将 UpdateQuery 字符串更改为
"UPDATE company SET permission = '"+Allow+"' WHERE date < '?' ";

也是必须的一步