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

时间:2019-01-18 11:34:47

标签: java database xampp swingx

我想在Xampp服务器的DATE列中获取日期,并与当前日期进行比较。如果xampp中的日期小于当前日期,那么我想将PERMISSION列的值设置为“ 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"); 

我想在执行更新查询时将xampp服务器中的权限表的值设置为“允许”;

1 个答案:

答案 0 :(得分:0)

pst.setString(2, addDate);

我认为这应该更改为:

pst.setString(1, addDate);

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

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

也是必不可少的步骤。