SQLiteOpenHelper を拡張するクラスと、次のように宣言されたデータベースがあります。
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + TABLE_NAME + " (" + COL_TEMPERATURA
+ " TEXT, " + COL_UMIDITA + " TEXT," + COL_DATA + "DATETIME)");
}
今、私はその中にレコードを挿入しますが、(DATETIME 型の) 最後のフィールドを挿入しようとすると、日食はそれを行うことができないと私に言いました:
public void insertRecord(List<Object[]> list) throws ParseException {
String temperatura, umidita, data;
SQLiteDatabase db = this.getWritableDatabase();
ContentValues cv = new ContentValues();
for (int i = 0; i < list.size(); i++) {
temperatura = String.valueOf(list.get(i)[0]);
umidita = String.valueOf(list.get(i)[1]);
data = String.valueOf(list.get(i)[2]);
// parsing data
DateFormat dateformat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Date data_date = dateformat.parse(data);
// insert into database
cv.put(COL_TEMPERATURA, temperatura);
cv.put(COL_UMIDITA, umidita);
cv.put(COL_DATA, data_date);
db.insert(TABLE_NAME, null, cv);
db.close();
}
cv.put() は引数として 2 つの文字列しかとらないためです。data_date 変数を文字列に解析すると、MySql は自動的に正しい形式に変換しますか?