ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

android – ORMLite使用SQL插入日期

2019-08-26 03:24:41  阅读:366  来源: 互联网

标签:android sql-insert date-format ormlite


我在我的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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有