3

db 側でcheckInTimecheckOutTimeタイプTIMESTAMP

私のJavaコードでも、checkInTimeタイプcheckOutTimeですjava.sql.Timestamp

レコードを db に挿入するために、次のコードを使用しています。

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型の何かを期待していないためです.

2 番目のパラメーターでontentValues型を受け入れるC の put メソッドは見当たりません。java.sql.Timestampこのような場合に渡す方法を提案してjava.sql.Timestamp、コンパイルエラーも削除できるようにしてください。

ありがとう、

4

2 に答える 2

7

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));
于 2012-04-15T11:40:05.033 に答える
0

checkInTime と checkOutTime がビット タイム スタンプの場合、thm を contentvalue に保存する前に、ミリ秒に変換して保存し、取得中に必要な形式に再変換します。ContentValue は timeStamps を受け入れないため、コンパイル エラーが発生しないように変換して保存するだけです。

于 2012-04-15T09:49:43.227 に答える