如何以正确的格式粘贴日期?

时间:2017-05-18 10:54:55

标签: java sqlite

SqLiteStudio显示date字段是TEXT的类型,但是在运行了我在数据库中的日期字段中找到的代码之后:1994 为什么价值不是2017-05-18

stmt = c.createStatement();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String date = df.format(new Date());    
String sql = "UPDATE advert SET date = " + date + " WHERE advert_id=" + advertId + ";";
stmt.executeUpdate(sql);

1 个答案:

答案 0 :(得分:3)

您缺少日期字符串周围的单引号,因此它被解释为数学运算:2017 - 5 - 18 = 1994。

引用日期字符串:

String sql = "UPDATE advert SET date = '" + date + "' WHERE advert_id=" + advertId + ";";
                                       ^            ^

或更好,使用prepared statements and parameter binding