在数据库端,checkInTime
和checkOutTime
的类型是TIMESTAMP
在我的 java 代码中,checkInTime
和 checkOutTime
也是 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 类型的东西
我看不到 ContentValues
的任何 put 方法,它会在其第二个参数中接受 java.sql.Timestamp
类型。请建议在这种情况下如何传递 java.sql.Timestamp
,以便我也可以消除编译错误。
谢谢,
最佳答案
我建议您使用 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));
关于android - ContentValues 放置方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10160968/