android – ORMLite使用SQL插入日期
作者:互联网
我在我的android项目中设置了一个ORMLite数据库.
我有一个名为RbFehler的类,其中包含以下字段:
@DatabaseField(columnName = "DATUM_LA", dataType = DataType.DATE_STRING,
format = "yyyy-MM-dd HH:mm:ss")
public Date datum_la;
我有一些逻辑,从存储SQL插入语句的文本文件中导入数据.一行看起来像这样:
INSERT INTO RbFehler (KATALOGART,SYST,SUBSYST,KOMP,BAUTEIL,BEZ,PSYST,PSUBSYST,
PKOMP,PBAUTEIL,INAKTIV,GELOESCHT,DATUM_LA)
VALUES ('VW','4F5AB211','0600','4F5AA900','0010','Venturirohr','4F5AB211',
'0600','4F5AA900','0000','0','0',2012-06-04 08:08:08);
但是当我打电话时,我总是得到以下错误:
dao.execute RawNoArgs(line);
java.lang.Illegal Argument Exception: Field class java.sql.Date for field
Field Type:name=datum_la,class=RbFehler is not valid for data
persister com.j256.ormlite.field.types.DateStringType@416ed260
我也尝试在SQL语句的日期周围添加“’”但得到相同的错误.如果我从SQL和类中删除日期一切正常.
谁能告诉我我做错了什么?我只发现了这样的问题:ormlite read Date as ‘yyyy-MM-dd’
解决方法:
我想到了:
确保在Java中使用正确的Date对象:
@DatabaseField(columnName = "DATUM_LA", dataType = DataType.DATE_STRING,
format = "yyyy-MM-dd HH:mm:ss")
public java.util.Date datum_la;
而不是java.sql.Date.
标签:android,sql-insert,date-format,ormlite 来源: https://codeday.me/bug/20190826/1725697.html