Ich habe eine Tabelle question_table
und eine ImageButton
(Zurück). Ich muss den letzten eingefügten Datensatz aus der Datenbank abrufen, nachdem ich auf Zurück geklickt habe.Wie bekomme ich den letzten Datensatz von Sqlite?
Meine Zeile enthält die folgenden Spalten: question
, optionA
, optionB
, optionC
, optionD
, und ich brauche die Daten für den Einsatz auf meinem Activity
. Ich erstelle eine Methode in der Datenbank, aber es funktioniert nicht.
Hier Code als Referenz:
MySQLiteHelper.java Extrakt:
public List<ObjectiveWiseQuestion> getLastInsertQuestion()
{
// long index = 0;
List<ObjectiveWiseQuestion>LocwiseProfileList=new ArrayList<ObjectiveWiseQuestion>();
db = getReadableDatabase();
Cursor cursor = db.query(
"sqlite_sequence",
new String[]{"seq"},
"name = ?",
new String[]{TABLE_QUESTION},
null,
null,
null,
null);
if (cursor.moveToFirst())
{
do {
ObjectiveWiseQuestion owq= new ObjectiveWiseQuestion();
owq.setQuestion(cursor.getString(2));
owq.setOptionA(cursor.getString(3));
owq.setOptionB(cursor.getString(4));
owq.setOptionC(cursor.getString(5));
owq.setOptionD(cursor.getString(6));
owq.setCorrectOption(cursor.getString(7));
LocwiseProfileList.add(owq);
} while(cursor.moveToNext());
db.close();
}
return LocwiseProfileList;
}
OnClickListner
von AddQuestionActivity.java
imgBack.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
msg();
emptyFormField();
try {
final List<ObjectiveWiseQuestion> LocWiseProfile = db.getLastInsertQuestion();
for (final ObjectiveWiseQuestion cn : LocWiseProfile)
{
db=new MySQLiteHelper(getBaseContext());
db.getWritableDatabase();
txtQuestion.setText(cn.getQuestion());
txtOptionA.setText(cn.getOptionA());
txtOptionB.setText(cn.getOptionB());
txtOptionC.setText(cn.getOptionC());
txtOptionD.setText(cn.getOptionD());
txtCorrectOption.setText(cn.getCorrectOption());
db.close();
}
} catch(Exception e) {
e.printStackTrace();
}
}
});
Bitte geben Sie mir einen Hinweis.
Vielen Dank im Voraus ..
für mich auch nützlich. Vielen Dank. –
Enjoy .... Hardik – Hasmukh
Dies ist eine sehr schlechte Anfrage für diesen Zweck, weil 'sqlite' alle Datensätze nach ihrer ID (langsam) sortieren sollte, bevor das Ergebnis zurückgegeben wird, gab Stephen Nguyen optimale Anfrage mit' DESC' und 'LIMIT1' –