如何从Sqlite获取最后一条记录? [英] How to get Last record from Sqlite?
本文介绍了如何从Sqlite获取最后一条记录?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一张桌子 question_table
和一个 ImageButton
(返回).单击返回后,我需要从数据库中获取最后插入的记录.
I have a one table question_table
and one ImageButton
(Back). I need to get the last inserted record from the database after clicking on the Back.
我的行包含以下列:question
、optionA
、optionB
、optionC
、optionD
,我需要在我的 Activity
上使用的数据.我在数据库中创建了一种方法,但它不起作用.
My row contains the following columns: question
, optionA
, optionB
, optionC
, optionD
, and I need the data for use on my Activity
. I create one method in database but it's not working.
这里是代码供参考:
MySQLiteHelper.java 摘录:
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
来自 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();
}
}
});
请给我一些提示.
推荐答案
试试这个:
SELECT *
FROM TABLE
WHERE ID = (SELECT MAX(ID) FROM TABLE);
或
您也可以使用以下解决方案:
you can also used following solution:
SELECT * FROM tablename ORDER BY column DESC LIMIT 1;
这篇关于如何从Sqlite获取最后一条记录?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文