【发布时间】:2022-01-04 17:56:55
【问题描述】:
我打算将“日期”对象添加到 SQLite 数据库中。但是,我收到关于插入为空的错误。 错误是这样的
org.sqlite.SQLiteException: [SQLITE_CONSTRAINT_NOTNULL] A NOT NULL constraint failed (NOT NULL constraint failed: dates.Tarih)
at org.sqlite.core.DB.newSQLException(DB.java:909)
at org.sqlite.core.DB.newSQLException(DB.java:921)
at org.sqlite.core.DB.execute(DB.java:825)
at org.sqlite.jdbc3.JDBC3PreparedStatement.execute(JDBC3PreparedStatement.java:53)
这是我的代码。我怀疑从问号。因为当我删除它们并将它们与'now' 一起放置时。它确实有效。但是,下面的代码会抛出上述错误。
插入方法
public static void insert(Date date, Date date2) {
try{
System.out.println(" date:"+date.toString());
String query = "insert into dates(Tarih,Tarih2) values(strftime('%d-%m-%Y',?), strftime('%d-%m-%Y',?))";
pst=conn.prepareStatement(query);
pst.setObject(1,date);
pst.setObject(2,date2);
pst.execute();
}catch (SQLException e){
e.printStackTrace();
}
}
【问题讨论】:
-
setObject将您的日期对象转换为strftime()无法理解的格式。请参阅 sqlite.org/lang_datefunc.html#time_values 了解它可以使用的内容。
标签: java sql sqlite date strftime