sqliteデータベースにdatetime値を挿入する際に問題が発生しました。日時の値をandroid sqliteに挿入
私は2つの日付ピッカーを持っていますが、私は日付を選ぶことができますが、その後、データベースに挿入すると、理由は分かりませんが、2つの日付の行に現在の日付があります。 datepickerで選択した日付を挿入しますか?
私のデータベースでは、これらの列をDATETIMEとして宣言しました。
public String getDate_debut() {
SimpleDateFormat dateFormat = new SimpleDateFormat(
"dd-MM-yyyy HH:mm:ss");
Date date = new Date();
return dateFormat.format(date);
}
public void setDate_debut(String date_debut) {
this.date_debut = date_debut;
}
public String getDate_fin() {
SimpleDateFormat dateFormat = new SimpleDateFormat(
"dd-MM-yyyy HH:mm:ss");
Date date = new Date();
return dateFormat.format(date);
}
public void setDate_fin(String date_fin) {
this.date_fin = date_fin;
}
は、ここで私は1つの日付ピッカーの日付を取得する方法は次のとおりです。
は、ここに日付のための私のget-セッタークラスです。私は文字列を書式設定する方法についてはわかりません。書式を設定する必要がある場合や、文字列として追加するだけでよいのかどうかはわかりません。
private DatePickerDialog.OnDateSetListener datepickerdernier
= new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
year_x2 = year;
//les DatePicker
month_x2 = month +1;
day_x2 = dayOfMonth;
datefin = (TextView)findViewById(R.id.TVDatePickerDernier);
datefin.setText(year_x2+"-"+month_x2+"-"+day_x2);
}
};
String date2 = datefin.getText().toString();
//im not sure about the following lines
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date_dernier = dateFormat.parse(date2);
そして最後に、私はそれを挿入します。
Cours c = new Cours();
c.setBranche_cours(selectedBranche);
c.setDate_fin(date2); //should i set the string ?
dbhelper.Open();
dbhelper.insertCours(c);
がどのように私は私のデシベルに私は、現在の日付を選択していない日付を挿入することができますか?
@UPDATE - **挿入された日付を更新するにはどうすればよいですか?
ここに私のsqliteの方法だ..私は別のアクティビティを持っている、と私は私が前に選択した日付を変更したいが、私はできませんよ。
public void updateCours(Date olddatedebut, Date newdatedebut, Date olddatedernier, Date newdatedernier)
{
Open();
db.execSQL("UPDATE "+TABLE_COURS+" set "+COLONNE_DATEPREMIER+"=date('"+newdatedebut+"') where "+COLONNE_DATEPREMIER+"=date('"+olddatedebut+"')");
db.execSQL("UPDATE "+TABLE_COURS+" set "+COLONNE_DATEDERNIER+"=date('"+newdatedernier+"') where "+COLONNE_DATEDERNIER+"=('"+olddatedernier+"')");
}
そして、どのように私はにことを渡すが、私の活動の私の方法:
//this is the new date of the 2nd datepicker
String datedernier = convertDateFormat(datenew2, "yyyy-MM-dd", "dd-MMM-yyyy");
//this is the new date of the 1st datepicker
String datepremier = convertDateFormat(datenew1, "yyyy-MM-dd", "dd-MMM-yyyy");
String date_debutold= intent.getExtras().getString("date_debut");
String date_finold=intent.getExtras().getString("date_fin");
//this is the current date recorded in my database from my datepicker
String date_debut1= convertDateFormat(date_debutold, "yyyy-MM-dd", "dd-MMM-yyyy");
//this is the current date recorded in my darabase from my 1st datepicker
String date_fin1= convertDateFormat(date_finold, "yyyy-MM-dd", "dd-MMM-yyyy");
//nouvelledatedebut
Date date_premier= new Date(datepremier);
Date date_dernier = new Date(datedernier);
Date date_premier2 = new Date(date_debut1);
Date date_fin2 = new Date(date_fin1);
dbhelper.Open();
dbhelper.updateCours(selected_brancheold,selectedBranchenew,date_premier2,date_premier,date_fin2,date_dernier,
申し訳ありませんが、私の活動でそのメソッドを作成しますか? – David
あなたのアクティビティが静的である必要がない場合 'private String convertDateFormat' – sajan
私はあなたが私に与えたものを試しましたが、それでも現在の日付を挿入します.. – David