Durch eine zusätzliche Funktion bin ich nun auf eine Alternativlösung gestoßen. Ich füge an jedem Datensatz nun das aktuelle Datum ein. Somit kann ich jeden Datensatz eindeutig identifizieren, da die Wahrscheinlichkeit auch sehr gering ist, dass wenn mehrere Benutzer auf der DB arbeiten, die gleiche Datumsinformation erzeugt wird.
Hier der Code:
Code
myDB = this.openOrCreateDatabase(MY_DB_NAME, MODE_PRIVATE, null);
Date d = new Date();
String current_date = (String)DateFormat.format("yyyy/MM/dd kk:mm:ss", d.getTime());
Dann habe ich noch eine kleine Routine eingebaut, falls ein neuer Datensatz erzeugt wird oder ein Datensatz nur editiert werden muss.
Code
if(getIntent().hasExtra("id") == true){
long l = getIntent().getExtras().getLong("id");
myDB.execSQL("UPDATE "+ MY_DB_TABLE +" SET "+"company = '"+DataCompany.getText().toString()+"', "+"surname = '"+DataSurname.getText().toString()+"', "+"firstname = '"+DataFirstname.getText().toString()+"', "+"adress = '"+DataAdress.getText().toString()+"', "+"postcode = '"+DataPostcode.getText().toString()+"', "+"city = '"+DataCity.getText().toString()+"', "+"phone = '"+DataPhone.getText().toString()+"', "+"email = '"+DataEmail.getText().toString()+"', "+"createtime = '"+current_date+"' "+"WHERE _id = "+l+";");
}
//create new data
else
{
myDB.execSQL("INSERT INTO " + MY_DB_TABLE + "(company, surname, firstname, adress, postcode, city, phone, email, createtime) "+"VALUES ('"+DataCompany.getText().toString()+"',"+"'"+DataSurname.getText().toString()+"',"+"'"+DataFirstname.getText().toString()+"',"+"'"+DataAdress.getText().toString()+"',"+"'"+DataPostcode.getText().toString()+"',"+"'"+DataCity.getText().toString()+"',"+"'"+DataPhone.getText().toString()+"',"+"'"+DataEmail.getText().toString()+"',"+"'"+current_date+"');");
//get new created ID
Cursor id_cursor = myDB.rawQuery("SELECT _id FROM "+MY_DB_TABLE+" WHERE createtime = '"+current_date+"';", null);
startManagingCursor(id_cursor);
int ColumnId = id_cursor.getColumnIndex("_id");
id_cursor.moveToFirst();
new_id = id_cursor.getInt(ColumnId);
}
Alles anzeigen
Die Formatierung des Codes sei an dieser Stelle bitte entschuldigt. Die hab ich nicht ausm Editor übernommen
greets