Ich habe ein Registrierungsformular, das mit der Datenbank verbunden ist.Wenn ich den Datensatz einfügen, kommt der letzte Datensatz zuerst in der Tabelle.Ich möchte, dass der letzte Datensatz unter dem zuletzt eingegebenen Datensatz angezeigt wird. Kannst du mir da draußen helfen?Einfügen von Daten in umgekehrter Datenbank
long flag = 0;
int id = 1;
SQLiteDatabase db = helper.getWritableDatabase();
Cursor cursor = db.query("tbl_countries", new String[]{"count(*) phone"}, null, null, null, null, null);
while(cursor.moveToNext())
{
int idFromDatabase = cursor.getInt(cursor.getColumnIndex("phone"));
if(idFromDatabase != 0)
{
id = 1 + idFromDatabase;
}
}
ContentValues values = new ContentValues();
//values.put("ID", id);
values.put("phone", Long.parseLong((phone.getText().toString())));
values.put("fname", fnametxt.getText().toString().trim());
values.put("lname", lnametxt.getText().toString().trim());
if(male.isChecked())
{
values.put("gender","male");
}
else
values.put("gender", "Female");
values.put("email", emailtxt.getText().toString());
values.put("mainpin",pin1.getText().toString()+pin2.getText().toString()+pin3.getText().toString()+pin4.getText().toString());
flag = db.insert("tbl_countries", null, values);
if(flag != -1)
{
Toast toast = Toast.makeText(getApplicationContext(), "You have successful inserted this record into database! "+flag, Toast.LENGTH_LONG);
toast.show();
db.close();
return;
}
else
{
Toast toast = Toast.makeText(getApplicationContext(), "An error occured when insert this record into database!", Toast.LENGTH_LONG);
toast.show();
db.close();
return;
}
Bitte schlagen Sie mir vor, wenn irgendetwas in meinem Code falsch ist.
Wenn Sie Ihre 'id' Spalte' AUTOINCREMENT' erstellen, müssen Sie sie nicht manuell so generieren, wie Sie es zu tun scheinen. –
ORDER BY _id DESC? – njzk2