ContentValues put方法(ContentValues put method)

2019-07-28 23:30发布

在分贝侧, checkInTimecheckOutTime是类型TIMESTAMP

在我的Java代码也, checkInTimecheckOutTime是类型java.sql.Timestamp

对于插入一条记录到数据库中,我使用这段代码:

1. ContentValues contentValues=new ContentValues();

    2. contentValues.put(USER_ID, userId);
    3. contentValues.put(ROOM_ID, roomId);
    4. contentValues.put(CHECK_IN, checkInTime);
    5. contentValues.put(CHECK_OUT, checkOutTime);

    6. return database.insert(MRM_BOOKING_DETAILS_TABLE, null, contentValues);

但我在4号线和5收到编译错误,因为他们没有期望类型的java.sql.Timestamp的东西

我看不到的C任何put方法ontentValues将接受型java.sql.Timestamp在其第二个参数。 请建议如何通过java.sql.Timestamp在这种情况下,这样我可以删除编译错误也是如此。

谢谢,

Answer 1:

我建议你使用DATETIME ,而不是TIMESTAMP 。 它更一般的处理日期和时间时。

此外,你可以使用SimpleDateFormat的插入或从数据库中读取数据时分析DATETIME值。

final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

更新:

尝试做如下:

final SimpleDateFormat parser = new SimpleDateFormat("yyyy-MM-ddTHH:mm:ss.SSS");

contentValues.put(CHECK_IN, parser.format(checkInTime));
contentValues.put(CHECK_OUT, parser.format(checkOutTime));


Answer 2:

如果checkInTime和checkOutTime是bith时间戳然后存储到THM只是contentvalue转换成毫秒,并存储在他们面前,并同时retriving然后将它们重新转换到你所需要的格式。 因为ContentValue不接受时间戳,以刚刚转换并存储,这样你不会得到任何compliation错误。



文章来源: ContentValues put method