私のコードは次のとおりです。datepickerからsqliteに日付を格納する方法は?
taskDB.insertDate(selectedDate,selectedId);
SQLiteのDB:
String sql = "CREATE TABLE IF NOT EXISTS " +TABLE_NAME+ "(" +KEY_ID+ " INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL," +KEY_TASKNAME+ " TEXT, " +KEY_STATUS+ " INTEGER," +KEY_FAV+ " INTEGER," +KEY_DATE+ " TEXT"+")";
db.execSQL(sql);
INSERTクエリ:
public void insertDate(String date, int id){
String sql = "UPDATE task SET date = "+date+" WHERE id = " +id;
SQLiteDatabase db = this.getWritableDatabase();
Log.d(TAG,"id is:" +id+ ", date is: "+date);// log is below
db.execSQL(sql);
}
ログイン:私が得るINSERTクエリのログで
05-26 10:23:14.538 15298-15298/? D/TaskDB: id is:2, date is: 17-05-2017
正しい日私はdatepicker
から選択しましたが、テーブルでは異なるフォーマットです。あなたに文字列値を追加している時はいつでもThisは、単一引用符で日付を置き、私が変更されている日付
sqliteデータ型を設定しようとします。日付 –
日付の前後に一重引用符を入れて、UPDATEタスクのように表します。SET date = '"+ date +"' WHERE id = "+ id;' –