Ich habe ein Problem beim Einfügen einiger Datetime-Werte in meine SQLite-Datenbank.Datumswert in Android sqlite einfügen
Ich habe zwei datepickers, ich kann ein Datum wählen, aber danach, wenn ich es in meine Datenbank einfügen, weiß ich nicht warum, aber die Zeile für die 2 Daten haben das aktuelle Datum .. Wie kann ich tun das Datum einfügen, das ich im Datepicker ausgewählt habe?
In meiner Datenbank deklarierte ich diese Spalten als DATETIME.
Hier ist meine get-Setter-Klasse für die Tage:
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;
}
Hier ist, wie ich das Datum eines Datumsauswahl erhalten. Ich bin mir nicht sicher über die Art, wie ich meine Zeichenfolge formatiere und ob ich formatieren muss oder ob ich sie einfach als Zeichenfolge hinzufügen kann.
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);
Und am Ende ich einfügen es:
Cours c = new Cours();
c.setBranche_cours(selectedBranche);
c.setDate_fin(date2); //should i set the string ?
dbhelper.Open();
dbhelper.insertCours(c);
Wie kann ich in meinem db das Datum einfügen ich das aktuelle Datum ausgewählt und nicht?
@UPDATE - ** Wie kann ich das eingefügte Datum aktualisieren?
Ich habe eine andere Tätigkeit, und ich möchte, um die Daten ändern, ich vorher gewählt haben, aber ich bin nicht in der Lage ..
Hier ist meine SQLite-Methode:
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+"')");
}
Und wie gebe ich das zu meine Methode auf meine Tätigkeit:
//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,
Entschuldigung für die Frage, aber ich erstelle diese Methode in meiner Tätigkeit? – David
Wenn es in Ihrer Aktivität keine Notwendigkeit für statische verwenden 'private String convertDateFormat' – sajan
Ich habe versucht, was Sie mir gab, aber es fügt immer noch das aktuelle Datum .. – David